| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- name: CI
- on:
- push:
- branches: [main]
- pull_request:
- branches: [main]
- concurrency:
- group: ci-${{ github.ref }}
- cancel-in-progress: true
- jobs:
- check:
- name: Lint, Typecheck & Unit Tests
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: pnpm/action-setup@v4
- - uses: actions/setup-node@v4
- with:
- node-version: 22
- cache: pnpm
- - run: pnpm install --frozen-lockfile
- - name: Prettier
- run: pnpm check
- - name: ESLint
- run: pnpm lint
- - name: TypeScript
- run: npx tsc --noEmit
- - name: Unit Tests
- run: pnpm test
- e2e:
- name: E2E Tests
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: pnpm/action-setup@v4
- - uses: actions/setup-node@v4
- with:
- node-version: 22
- cache: pnpm
- - run: pnpm install --frozen-lockfile
- - name: Install Playwright browsers
- run: pnpm exec playwright install chromium --with-deps
- - name: Run e2e tests
- run: pnpm exec playwright test
- - uses: actions/upload-artifact@v4
- if: failure()
- with:
- name: playwright-report
- path: playwright-report/
- retention-days: 7
|