Skip to content

fix(ci): stop Lighthouse budget failing on Chrome drift - #1714

Closed
BigSimmo wants to merge 2 commits into
mainfrom
cursor/lighthouse-budget-chrome-drift-624a
Closed

fix(ci): stop Lighthouse budget failing on Chrome drift#1714
BigSimmo wants to merge 2 commits into
mainfrom
cursor/lighthouse-budget-chrome-drift-624a

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Summary

  • The advisory Lighthouse budget job was going red on most UI PRs because the committed baseline’s Chrome identity drifted from the ubuntu-24.04 runner image Chrome, and incompleteBudgetEvidence treated any mismatch as hard incomplete evidence (always exit 1, even with enforce: false).
  • Durable fix: pin the CI job to Playwright Chromium via setup-ui-e2e + CHROME_PATH (same browser path as Production UI). No per-route retry — retries only lengthen CI.
  • While enforce is false, residual Chrome identity drift warns and still grades; once enforce flips true, drift stays fail-closed until check:lighthouse-budget -- --update.

Verification

  • npm run test -- tests/check-lighthouse-budget.test.ts — 41 passed
  • npm run test:ci-workflows — 227 passed (on the pin commit)
  • npm run check:github-actions — passed
  • npm run check:ci-scope -- --self-test — passed
  • UI verification not run: no product UI change; CI/perf-gate tooling only

Risk and rollout

  • Risk: medium-low; changes the advisory Lighthouse CI harness and grader behaviour while enforce remains false. Does not alter production runtime or required pr-required gates.
  • Rollback: revert this commit; the job returns to ubuntu-image Chrome and hard-failing on browser drift.
  • Provider or production effects: None

RAG impact: no retrieval behaviour change — CI/Lighthouse budget tooling only.

Open in Web Open in Cursor 

Pin the advisory budget job to Playwright Chromium, retry transient
NO_NAVSTART once, and treat browser-identity drift as a warning while
enforce is still false so runner Chrome bumps stop reddening every UI PR.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@supabase

supabase Bot commented Aug 8, 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 ↗︎.

@coderabbitai

coderabbitai Bot commented Aug 8, 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: 34 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: 49b9e4af-5d7e-47f9-8705-d23e0b7bc7fa

📥 Commits

Reviewing files that changed from the base of the PR and between 383fe91 and e3759fe.

📒 Files selected for processing (6)
  • .github/workflows/ci.yml
  • docs/testing.md
  • lighthouse-budget.json
  • scripts/check-lighthouse-budget.mjs
  • scripts/run-lighthouse-budget.mjs
  • tests/check-lighthouse-budget.test.ts

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

@BigSimmo
BigSimmo marked this pull request as ready for review August 8, 2026 05:24
Retrying failed routes lengthened CI without fixing browser drift. The
durable fix is the pinned Playwright Chromium path alone.

Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
@BigSimmo
BigSimmo enabled auto-merge (squash) August 8, 2026 05:39
@BigSimmo
BigSimmo disabled auto-merge August 8, 2026 05:39

BigSimmo commented Aug 8, 2026

Copy link
Copy Markdown
Owner Author

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.


Generated by Claude Code

@BigSimmo BigSimmo closed this Aug 8, 2026
Sign up for free to 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