Repository navigation
Install browser system packages from the cache when the Ubuntu mirror is down - #1631
Conversation
… is down Since about 14:30Z on 11 Nov every browser job fails because the runner cannot resolve azure.archive.ubuntu.com, and Playwright's install-deps always runs apt-get update first. The seed step already copies the main-saved packages for this exact runner image into apt's archive folder, so the setup now installs those as local files with downloads switched off, installs the browsers, and passes only if each one launches. If any part fails it falls back to the online path as before. The shared-mode job also restores WebKit's cached packages and uses the same script for both engines. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxmrqgwa3hCAtaMf9JT
|
Warning Review limit reachedYour organization has reached its usage spending cap. Adjust your spending cap in the billing tab. Next included review available in 42 minutes. View limit details
|
Codex Review Summary: ✅ CompletedThis 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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c9bc9f0958
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
The cache path is part of the cache version, so a different restore path never finds the release gate's WebKit cache. Seed Chromium's packages, then restore WebKit's into the same folder and seed again. (Codex review) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxmrqgwa3hCAtaMf9JT
GitHub's runners cannot reach the Ubuntu mirror. #1631 installs the cached system packages offline before trying apt, and it is proven on the runners. This is the same change, so #1608's browser jobs can run before #1631 merges. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxmfmBRcfvStcCSeCwK
A copy of #1631 (a5dd0ff) in the same three files from the same base: browser setup installs the cached system packages offline before trying apt, so jobs pass while azure.archive.ubuntu.com is unreachable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxjdesrEjVU1zKyiFhd
…tu mirror outage Brings in the workflow, install-chromium script and test from #1631 (a5dd0ff) unchanged, so browser system packages install from the cache instead of the Ubuntu mirror. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxn8xZAWHw5dJPGdUjY
Brings PR #1631's browser system-package change (a5dd0ff) into this branch: Chromium and WebKit system packages install from the cached archive, so the browser jobs no longer need the Ubuntu mirror, which is down. The workflow hunk is applied by hand on top of this branch's ward-setup action change; the script and its test match #1631 exactly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxn8xZAWHw5dJPGdUjY
Copied from claude/project-thread-gbgrbg at a5dd0ff; the three files matched origin/main here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxn8xZAWHw5dJPGdUjY
Both cards were fetched when the browser went idle, so they arrived about a second after Home drew and pushed My list and Later today down: 0.134 layout shift on a desktop, over the 0.1 line, in all three release gate runs. They are now fetched as soon as Home's code runs and drawn straight away once loaded (home-early-card.tsx), so they normally land in Home's first frame. They stay off the first load: Home measures 584.3 KB of its 586 KB limit. Local production build: desktop 0.000 in 10 of 10 loads (was up to 0.134), phone about 0.014. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxmfmBRcfvStcCSeCwK (cherry picked from commit 8cb4851)
Replaces home-early-card.tsx with the reviewed load-early.tsx and useHomeCardsSettled (patch from the Home layout shift review): - Home's columns stay hidden, keeping their space, until the since line and Beds that fit have loaded, or 1.5 s, so a late card on a slow device no longer lands on rows already shown. - A failed fetch is tried again the next time the card mounts. - A phone, which never shows Beds that fit, still fetches it only when idle, so Data Saver and 2G keep PERF-06. Local production build: desktop 0.000 in 10 of 10 loads, phone at most 0.018; Home 584.8 of 586 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxmfmBRcfvStcCSeCwK (cherry picked from commit 9e7516f)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxmfmBRcfvStcCSeCwK (cherry picked from commit e6ad3e7)
…heck Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxmfmBRcfvStcCSeCwK (cherry picked from commit 66426eb)
|
Browser setup on a5dd0ff is fixed: all four browser jobs installed from the cached packages offline and launched. The two release gates still failed, both on a re-run too, and neither failure comes from this diff. They hit every PR based on main 51a4745:
Generated by Claude Code |
…t would downgrade The phone "Transfer with transport" journey crosses three desks with ten accessibility checks. On hosted WebKit it went from 1.3 min at 10:31Z on 11 Nov to 2.1 min by 18:00Z with no single step hanging, so it ran out of the shared two-minute budget on every PR. It alone now gets three minutes. Also takes #1630's withoutDowngrades filter (e3ed4c5) for the offline browser setup, so the two branches carry the same script. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxmrqgwa3hCAtaMf9JT
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxmrqgwa3hCAtaMf9JT
Same line as #1631, so the two branches stay identical here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxnKy5cgHmGa8NdCd2U
…veal wait Main now holds Home's columns until its early cards arrive (useHomeCardsSettled), which fixes the same layout shift on every load. Keeping the held-reveal wait as well would make a held first load wait twice, so it is dropped and this PR is back to the D-153 record. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxnKy5cgHmGa8NdCd2U
…t fixes) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxn8xZAWHw5dJPGdUjY
…t fixes) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxn8xZAWHw5dJPGdUjY
…t fixes) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GxPPxn8xZAWHw5dJPGdUjY
Requested by josh · project thread
Why
Since about 14:30Z on 11 Nov every browser job on #1606, #1608, #1622, #1623, #1626 and #1630 fails in browser setup. The runner cannot resolve
azure.archive.ubuntu.com, and Playwright'sinstall-depsalways runsapt-get updatefirst, so it times out. Nothing else on those PRs is red.What changes
scripts/ward-ci-public/install-chromium.mjs: when the seed step has put cached.debfiles in/var/cache/apt/archives(the main-saved cache for this exact runner image hits on every job), install them as local files withapt-get install --no-download, install the browsers, then launch each one. Pass only if they all launch. Any failure falls back to the existing online path unchanged.ward-flow.ymlshared-mode job: also restore and seed WebKit's cached packages, and install both engines through the same script (it calledplaywright install --with-deps webkitdirectly before).Evidence
ward-flow.yml(22 files, 309 tests) pass.Generated by Claude Code