Skip to content

chore(dev-deps): Bump globals from 17.4.0 to 17.8.0 #28

chore(dev-deps): Bump globals from 17.4.0 to 17.8.0

chore(dev-deps): Bump globals from 17.4.0 to 17.8.0 #28

Workflow file for this run

name: CI
# deploy.yml runs this same suite, but only on push to main β€” that is, after a
# merge has already landed. A failing test there doesn't block the merge, it
# blocks the deploy, so main stays broken and the site goes stale until someone
# notices. (That is exactly how one stale e2e assertion held Pages back across
# three merges before v0.2.0.) This runs the same gate on the pull request,
# where a red check can still stop the merge.
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
# A newer push to the same PR makes the previous run's verdict irrelevant, so
# superseded runs are cancelled. Note that deploy.yml deliberately does the
# opposite: a half-finished Pages deploy is worse than a redundant one.
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
verify:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Setup Node
uses: actions/setup-node@v7
with:
node-version: 22
cache: npm
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Type check
run: npm run check
- name: Unit tests
run: npm run test:unit
- name: Install Playwright browsers
run: npx playwright install --with-deps chromium
- name: End-to-end tests
run: npm run test:e2e
# Playwright's web server builds without BASE_PATH, so the Pages build is
# a genuinely different code path β€” the one deploy.yml ships. Building it
# here means a base-path regression fails a check instead of a deploy.
- name: Build with the Pages base path
env:
BASE_PATH: '/${{ github.event.repository.name }}'
run: npm run build
# Traces and screenshots, when Playwright emits any. Skipped silently on
# the runs where it doesn't, so a lint failure won't attach an empty zip.
- name: Upload Playwright artifacts
if: failure()
uses: actions/upload-artifact@v7
with:
name: playwright-results
path: test-results
if-no-files-found: ignore
retention-days: 7