Skip to content

fix(ci): pin Lighthouse Chromium and stop advisory Chrome-drift fails - #1703

Closed
BigSimmo wants to merge 5 commits into
mainfrom
cursor/fix-lighthouse-chrome-pin
Closed

fix(ci): pin Lighthouse Chromium and stop advisory Chrome-drift fails#1703
BigSimmo wants to merge 5 commits into
mainfrom
cursor/fix-lighthouse-chrome-pin

Conversation

@BigSimmo

Copy link
Copy Markdown
Owner

Summary

  • Diagnose PR fix(navigation): wire the forms section anchors, drop the dead presentation set #1697 advisory failure: Lighthouse budget (advisory) exited 1 with Evidence incomplete because the committed baseline was measured on HeadlessChrome/151 while that job measured on HeadlessChrome/150. Metrics were fine; required PR required was already green and the PR had merged.
  • Pin Chromium for the pre-merge Lighthouse job through Playwright (setup-ui-e2e + CHROME_PATH) so the browser only moves with the lockfile, not the ubuntu image Chrome rollout.
  • While enforce is still false, treat baseline browser mismatch as a warning (exit 0) instead of a hard fail; once enforce flips, mismatch still fails closed until --update.
  • Fix the --update catch-22: baseline-comparability checks (Chrome drift / missing rows) no longer block a refresh that exists to rewrite them.

Verification

  • Reproduced PR fix(navigation): wire the forms section anchors, drop the dead presentation set #1697 artifact grade: same Chrome 151 vs 150 mismatch now exits 0 with ::warning::check:lighthouse-budget — baseline browser mismatch — refresh with --update
  • Proved --update --dir <artifact> succeeds (exit 0) against that Chrome-drift evidence, then restored lighthouse-budget.json (did not commit system-Chrome 150 numbers; CI will restamp on pinned Playwright Chromium)
  • Direct Node contract assertions for warn/fail/update-skip/CI pin/table label: PASS
  • Verification not run: full npm run test / verify:pr-local — shared node_modules junction was mid-mutation and the repo heavy-run lock was held by another worktree; CI will run the lighthouse unit suite and workflow contracts on this head

Risk and rollout

  • Risk: Advisory Lighthouse may warn (not fail) on browser mismatch until the baseline is restamped on the pinned Playwright Chromium after this lands. Once enforce is true, mismatch still fails.
  • Rollback: Revert this commit; advisory job returns to system Chrome and hard-fail on major drift.
  • Provider or production effects: None

Notes

  • Does not change product UI or retrieval behaviour.
  • Follow-up for #118: after this merges, download a green lighthouse artifact measured with the pinned Chromium and run npm run check:lighthouse-budget -- --update before flipping enforce.

Ubuntu runner Chrome majors disagreed across jobs (PR #1697: 151 baseline vs 150 measurement), so the advisory budget failed closed with no app regression. Pin Playwright Chromium, warn on browser mismatch while enforce is false, and let --update restamp through Chrome drift.
Co-authored-by: Cursor <cursoragent@cursor.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitaiBot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in:31 minutes

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 813bbbc3-c769-4bf7-9727-80a4fb1448bc

📥 Commits

Reviewing files that changed from the base of the PR and between cbca371 and 6211808.

📒 Files selected for processing (26)
  • .github/workflows/ci.yml
  • docs/branch-review-ledger.md
  • docs/design-system/COMPONENTS.md
  • docs/design-system/adoption-manifest.json
  • docs/outstanding-issues.md
  • docs/search-chrome-behaviour.md
  • docs/search-results-bar-decisions.md
  • docs/testing.md
  • scripts/check-lighthouse-budget.mjs
  • src/components/applications-launcher-page.tsx
  • src/components/clinical-dashboard/differentials-home.tsx
  • src/components/clinical-dashboard/medication-prescribing-workspace.tsx
  • src/components/clinical-dashboard/result-filter-control.tsx
  • src/components/clinical-dashboard/search-results-header-band.tsx
  • src/components/factsheets/factsheets-search-page.tsx
  • src/components/formulation/formulation-home-page.tsx
  • src/components/services/services-navigator-page.tsx
  • src/components/specifiers/specifiers-home-page.tsx
  • tests/check-lighthouse-budget.test.ts
  • tests/search-results-header-band.dom.test.tsx
  • tests/ui-accessibility.spec.ts
  • tests/ui-formulation.spec.ts
  • tests/ui-smoke.spec.ts
  • tests/ui-specifiers.spec.ts
  • tests/ui-stress.spec.ts
  • tests/ui-tools.spec.ts

Comment @coderabbitai help to get the list of available commands.

@supabase

supabaseBot commented Aug 7, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project sjrfecxgysukkwxsowpy because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@BigSimmo
BigSimmo enabled auto-merge (squash) August 7, 2026 17:53
@BigSimmoClaude

Copy link
Copy Markdown
OwnerAuthor

Superseded by #1716, which merged the same fix (pin Playwright's managed Chromium for the lighthouse-budget job instead of relying on the ambient ubuntu-24.04 runner Chrome). #1716 was a minimal, workflow-only change — it doesn't modify check-lighthouse-budget.mjs's fail-closed grading contract the way this PR does — and was live-validated on a manual workflow_dispatch run before merge (Lighthouse budget (advisory) went from consistent failure to success).

Closing this to avoid duplicate/conflicting work on the same job. Thanks for the diagnosis work here — the root-cause analysis (Chrome 150/151 drift across the runner fleet) matches what landed.


Generated by Claude Code

@BigSimmoBigSimmo closed this Aug 8, 2026
auto-merge was automatically disabled August 8, 2026 05:51

Pull request was closed

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@BigSimmo@claude