name: Checks on: [push, pull_request, workflow_dispatch] permissions: contents: read jobs: web: # The shared Docker-Builder1 runner advertises this label. runs-on: docker-build container: image: node:22-bookworm timeout-minutes: 20 env: # Keep ROM-dependent tests local, even if the runner has a ROM elsewhere. CRYSTAL_ROM_PATH: /nonexistent/crystal-ci.gbc steps: - uses: https://github.com/actions/checkout@v4 with: persist-credentials: false - name: Verify the no-ROM test environment run: test ! -e "$CRYSTAL_ROM_PATH" - run: npm ci - run: npm run check:vendor - name: Synthetic unit tests run: npm test -- --maxWorkers=2 - run: npm run build - run: npm run check:release - run: npm run build:reference - run: npx playwright install --with-deps chromium webkit - name: Browser tests without a ROM run: npm run test:e2e -- --workers=2