Skip to content
File

Blob: .github/workflows/ci.yml

yaml58 lines
1name: CI
2 
3on:
4 push:
5 branches:
6 - main
7 
8permissions:
9 contents: read
10 
11jobs:
12 test:
13 runs-on: ubuntu-latest
14 timeout-minutes: 30
15 env:
16 CI: "true"
17 steps:
18 - name: Check out repository
19 uses: actions/checkout@v5
20 
21 - name: Set up Node.js
22 uses: actions/setup-node@v6
23 with:
24 node-version: 24
25 cache: npm
26 
27 - name: Install dependencies
28 run: npm ci
29 
30 - name: Prepare local dev vars
31 run: cp .dev.vars.example .dev.vars
32 
33 - name: Typecheck
34 run: npm run typecheck
35 
36 - name: Run unit tests
37 run: npm test
38 
39 - name: Run queue integration tests
40 run: npm run test:integration:queue
41 
42 - name: Run workflows integration tests
43 run: npm run test:integration:workflows
44 
45 - name: Install Playwright Chromium
46 run: npx playwright install --with-deps chromium
47 
48 - name: Run e2e tests
49 run: npm run test:e2e
50 
51 - name: Upload Playwright report
52 if: ${{ !cancelled() && !env.ACT }}
53 uses: actions/upload-artifact@v5
54 with:
55 name: playwright-report
56 path: playwright-report/
57 retention-days: 30