on: [push, pull_request]
name: UI CI
jobs:
e2e-ui-test:
name: End-to-end UI tests
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions/setup-node@v2
with:
node-version: '18'
- uses: actions-rs/cargo@v1
with:
command: build
args: -p chartered-web -p chartered-db --features sqlite
- name: Install dependencies
working-directory: ./chartered-frontend
run: npm ci
- name: Install Playwright
working-directory: ./chartered-frontend
run: npx playwright install --with-deps
- name: Run tests
working-directory: ./chartered-frontend
run: |
../target/debug/chartered-web -c ../chartered-web/config-example.toml &
sleep 5
npm test
- name: Upload test results
if: always()
uses: actions/upload-artifact@v2
with:
name: playwright-report
path: playwright-report
lint:
name: Prettier formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v2
with:
node-version: '18'
- name: Install dependencies
working-directory: ./chartered-frontend
run: npm ci
- name: Run tests
working-directory: ./chartered-frontend
run: |
npm run lint