Repository navigation
ci(web): pin the web build to ubuntu-24.04 - #896
Conversation
ubuntu-latest moved to ubuntu-26.04, and Playwright 1.56.0 cannot install Chromium there: "Playwright does not support chromium on ubuntu26.04-x64". The smoke test's dependency step failed on every pull request, and deploy-pages.yml, which builds through the same reusable workflow, would fail the next deploy from main. Pin the job to ubuntu-24.04, the image the last green run of main used. Moving back to ubuntu-latest goes with a Playwright bump that supports it (1.64.1 does). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R4vpdmBrHfsurXbRkn5VHs
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Pin the web build runner .github/workflows/web-build.yml |
The job runner changes from ubuntu-latest to ubuntu-24.04. Comments state that Playwright 1.56.0 cannot install Chromium on the current ubuntu-latest image and identify Playwright 1.64.1 as supporting it. |
Priority:
Estimated code review effort: 1 (Trivial) | ~5 minutes
Change: Other
Suggested reviewers: matobi98
Merge Risk: 
Minimal · up to c7cc3
-
The runner pin is mergeable with no identified current-head risk.
Pre-merge checks: 
5
-
Full details: Description check
-
Explanation
The description is complete and relevant. It explains the CI failure, the runner pin, affected workflows, blast radius, validation steps, limitations, and AI assistance. The unchecked local test items are correctly marked not applicable, and the required CI validation is documented.
Full details: Docstring Coverage
-
Explanation
No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
A rabbit hops beside the build,
Ubuntu keeps the runner stilled.
Chromium waits for tools in place,
Playwright notes the version’s pace.
The workflow’s ready for its race.
Comment @coderabbitai help to get the list of available commands.
Linked issue
None: a maintainer pull request fixing CI (CONTRIBUTING.md § Contribution quality bar, exemptions). It unblocks #889, #890, #891, #892 and #894, whose Web (wasm build / smoke test) check fails for this reason alone.
Type
ci
What changes and why
ubuntu-latestmoved from ubuntu-24.04 to ubuntu-26.04 between the last green run ofmain(2026-10-23,Image: ubuntu-24.04) and the pull request runs of 2026-10-24 (Image: ubuntu-26.04). Playwright 1.56.0, whichtest/web/smoke/package.jsonpins, does not know that image, sonpx playwright install --with-deps chromiumfails in "Install smoke test dependencies":The web build job is pinned to
ubuntu-24.04, where the pipeline last passed. Every other step of the job (wasm build, Flutter web build, bundle checks) already passed on 26.04; only the browser install fails.Affected flow
No app flow.
.github/workflows/web-build.yml, the reusable workflow behind thewebjob ofci.yml(every pull request) and the build ofdeploy-pages.yml(the deploy to https://mostro.network/app/).Blast radius
deploy-pages.ymlbuilds through the same job, so the next deploy frommainwould have failed the same way; it gets the same pin.ubuntu-latest(Rust, Flutter, Design guide) pass on 26.04 and are left alone.playwright-Linux-1.56.0) does not name the image; the cached Chromium was downloaded on 24.04 runners, the image this goes back to.ubuntu-latestneeds a Playwright bump:playwright-core1.64.1 listsubuntu26.04in its supported hosts, 1.56.0 does not (checked in the npm packages). The comment onruns-onsays so. Bumping Playwright changes the Chromium the smoke test runs, so it is left for a pull request of its own.Platforms tested
GitHub Actions hosted runners (
ubuntu-24.04). No app platform is affected.Manual testing
Setup
The CI run of this pull request, on GitHub-hosted runners.
Steps
Expected: the job log shows
Image: ubuntu-24.04, "Install smoke test dependencies" installs Chromium, and the smoke steps after it run and pass.(fails on
main): on the currentubuntu-latest, the job stops at "Install smoke test dependencies" withPlaywright does not support chromium on ubuntu26.04-x64(for example the runs of feat(announcements): bridge the cache to Dart and add the Announcements toggle #889 and feat(stablecoins): phase 1 — catalogue, coin mark, default currency and the Market lock #894).Expected: they pass as on the last run of
main; this change does not touch them.Not covered
main(deploy-pages.yml): it runs only after merge, on the same pinned job.Screenshots
No visible change.
Automated tests
None: the change is the runner image of a CI job, and its test is that job running on this pull request.
Checklist
cd rust && cargo fmt --check && cargo clippy -- -D warnings && cargo testpass locally. Not applicable: no Rust change.dart format --set-exit-if-changed .,flutter analyzeandflutter testpass locally. Not applicable: no Dart change.rust/src/api/or an.arb: not applicable.AI assistance
Diagnosed and written with Claude Code (Claude Opus 5.5): the failing job logs of #889 and #894, the runner image of the last green
mainrun, and the supported hosts in the Playwright packages.🤖 Generated with Claude Code
https://claude.ai/code/session_01R4vpdmBrHfsurXbRkn5VHs
Summary by CodeRabbit