name: CI on: push: branches: - main permissions: contents: read jobs: test: runs-on: ubuntu-latest timeout-minutes: 30 env: CI: "true" steps: - name: Check out repository uses: actions/checkout@v5 - name: Set up Node.js uses: actions/setup-node@v6 with: node-version: 24 cache: npm - name: Install dependencies run: npm ci - name: Prepare local dev vars run: cp .dev.vars.example .dev.vars - name: Typecheck run: npm run typecheck - name: Run unit tests run: npm test - name: Run queue integration tests run: npm run test:integration:queue - name: Run workflows integration tests run: npm run test:integration:workflows - name: Install Playwright Chromium run: npx playwright install --with-deps chromium - name: Run e2e tests run: npm run test:e2e - name: Upload Playwright report if: ${{ !cancelled() && !env.ACT }} uses: actions/upload-artifact@v5 with: name: playwright-report path: playwright-report/ retention-days: 30