👷 Add e2e job to CI #5

Merged
mat merged 1 commit from ci-e2e into main 2026-10-02 07:30:18 +00:00
Owner

Context

Stacked on #4 — adds the e2e leg so CI covers everything make test runs. This is the only test class that would have caught the CSS load-order bug fixed in PR #2.

What it does

  • New e2e job: mcr.microsoft.com/playwright:v1.63.0-noble (browsers + deps bundled, version pinned to the lockfile's @playwright/test), npm ci, npm run build (needed — vite preview serves dist/), npm run test:e2e.
  • playwright.config.ts: channel: process.env.PLAYWRIGHT_CHANNEL || 'chrome' — local runs keep Chrome untouched; CI sets PLAYWRIGHT_CHANNEL=chromium to use the image's bundled Chromium.

Considerations

  • The pull_request: branches: [main] trigger means this stacked PR gets no checks until it lands on main (or is retargeted after #4 merges); it was verified via a manual workflow_dispatch run on the branch — see the run linked in the discussion.
  • CI/Chromium vs local Chrome is a mild divergence, accepted for a smoke suite; the WebGL swiftshader flags were already in the config.
## Context Stacked on #4 — adds the e2e leg so CI covers everything `make test` runs. This is the only test class that would have caught the CSS load-order bug fixed in PR #2. ## What it does - New `e2e` job: `mcr.microsoft.com/playwright:v1.63.0-noble` (browsers + deps bundled, version pinned to the lockfile's `@playwright/test`), `npm ci`, `npm run build` (needed — `vite preview` serves `dist/`), `npm run test:e2e`. - `playwright.config.ts`: `channel: process.env.PLAYWRIGHT_CHANNEL || 'chrome'` — local runs keep Chrome untouched; CI sets `PLAYWRIGHT_CHANNEL=chromium` to use the image's bundled Chromium. ## Considerations - The `pull_request: branches: [main]` trigger means this stacked PR gets no checks until it lands on main (or is retargeted after #4 merges); it was verified via a manual `workflow_dispatch` run on the branch — see the run linked in the discussion. - CI/Chromium vs local Chrome is a mild divergence, accepted for a smoke suite; the WebGL swiftshader flags were already in the config.
Author
Owner

Verified via manual workflow_dispatch on ci-e2e: rust ✅ frontend ✅ e2e ✅ — run: https://git.greil.fr/mat/canicule/actions/runs/4 (3/3 smoke tests pass on the image's bundled Chromium + swiftshader WebGL).

Verified via manual `workflow_dispatch` on `ci-e2e`: rust ✅ frontend ✅ e2e ✅ — run: https://git.greil.fr/mat/canicule/actions/runs/4 (3/3 smoke tests pass on the image's bundled Chromium + swiftshader WebGL).
mat changed target branch from ci-rust-frontend to main 2026-10-02 07:28:39 +00:00
mat changed title from WIP: 👷 Add e2e job to CI to 👷 Add e2e job to CI 2026-10-02 07:28:49 +00:00
mat force-pushed ci-e2e from 20d7f34959 to 42dfb5622f
Some checks failed
CI / rust (pull_request) Failing after 2s
CI / frontend (pull_request) Successful in 28s
CI / e2e (pull_request) Successful in 31s
2026-10-02 07:29:46 +00:00
Compare
mat merged commit b2d10f5158 into main 2026-10-02 07:30:18 +00:00
mat deleted branch ci-e2e 2026-10-02 07:30:18 +00:00
mat referenced this pull request from a commit 2026-10-02 07:30:18 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
mat/canicule!5
No description provided.