Repository navigation
Cut CI wait: split the tablet and Safari release legs, rebalance PR browser groups, stop a frozen unit batch sooner - #3451
Conversation
…rowser groups, stop a frozen unit batch sooner Main pushes took 36-40 minutes because Railway's "Wait for CI" holds the deploy until every job ends, and the tablet leg ran the whole tablet suite on one runner. It hit the 30-minute global timeout on main run 38053471704 with 345 tablet tests never run. Tablet now splits four ways from a timing table measured off that leg's log (unreached files use the mobile-webkit cost, marked as estimates), and desktop Safari splits three ways from its existing table. Production UI shard 3 ran 521s of tests against 401s and 346s on PR run 38101082169, so it set every PR's wall clock. The profiles are re-measured from that run and four files move, giving 422/426/420s. A unit coverage partition froze on PR #3450 and held the run to the 20-minute job cap. The test step now stops at 13 minutes (partitions take 5-9). Every test still runs, on one worker, with zero retries and the same per-test timeouts. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JoxhPS6iT7SYdBZeSR1w1S
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
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. Comment |
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
🏁 CodeAnt Quality Gate ResultsCommit: ✅ Overall Status: PASSEDQuality Gate Details
|
Merging this PR will not alter performance
|
… balance test Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JoxhPS6iT7SYdBZeSR1w1S
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
🤖 CodeAnt AI — Review Status
|
Thanks for using CodeAnt! 🎉We're free for open-source projects. if you're enjoying it, help us grow by sharing. Share on X · |
There was a problem hiding this comment.
BigSimmo has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
CI failed: The required 'PR required' aggregate failed only because every upstream job was cancelled (no real job failures), most likely from a newer push superseding the run or a manual cancel; this is not a code breakage and is unrelated to the PR's changes.OverviewOne unique error template was analyzed from 1 log (commit e970c11). The 'PR required' aggregate job reported that all upstream checks were cancelled, with no genuine failing job. The result is a cancellation rather than a test or build failure. FailuresRequired aggregate red due to cancelled upstream jobs (confidence: high)
Summary
Code Review ✅ Approved 1 closed / 1 findings🟡 Medium risk · Shortening the unit-test job cap and repartitioning browser legs could prematurely fail slow CI jobs, delaying merges or deployments. Splits the tablet release leg into four and desktop Safari into three, and rebalances the Production UI PR shards, so CI no longer waits on a single slow runner. The leg-count balance test now pins webkit and tablet counts, addressing the finding that it still expected webkit at 2 legs and skipped tablet.
✅ 1 closed✅ Quality: Leg-count balance test still pins webkit at 2 legs and skips tablet
Review coverage🤖 Auto-approval Approved 📋 Rules No rules evaluated 🧪 Functional validation Not enabled · Set up Tip Comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
PR Summary by QodoShorten CI with balanced browser shards and an earlier unit timeout
AI Description
Diagram
High-Level Assessment
Files changed (5)
|
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can tweak Display settings with a live preview to see your comment before it ships |
Qodo FixerNo findings are available for this PR yet. Findings appear here once Qodo has reviewed the PR. |
CodeAnt PR Risk: Medium Risk
Assessed commit: |
User description
Requested by Josh · project thread
Summary
Before: every merge to main took 36 to 40 minutes of CI before Railway would deploy, because "Wait for CI" waits for the slowest job, and the tablet browser leg ran the whole tablet suite on one runner. On main run 38053471704 it hit the 30-minute global timeout with 345 tablet tests never run. A ready PR took about 14 minutes, set by one unbalanced Production UI shard (521s of tests against 401s and 346s). A frozen unit coverage partition on #3450 held its run to the 20-minute job cap.
After: tablet splits into four legs and desktop Safari into three, so every tablet test now runs and the slowest release leg drops from ~35 to ~13 to 17 minutes. The three Production UI shards are rebalanced to 422/426/420s, about 1.5 minutes off every ready PR. The unit test step stops at 13 minutes instead of 20 when a batch freezes.
How: the tablet timing table comes from the per-test durations in that tablet leg's log; files the leg never reached carry the mobile-webkit cost and are marked as estimates until a tablet
release-ui-timingsreport replaces them. Production UI profiles are re-measured from the three shard logs of PR run 38101082169, with four files moved. Every test still runs once, on one worker, zero retries, same per-test timeouts.Areas touched: Delivery and assurance
Verification
npx vitest run tests/playwright-pr-shards.test.ts tests/playwright-release-shards.test.ts tests/ci-*.test.ts→Tests 247 passed (247);check:diff-integrityPASS (17 -> 17 test cases);check:github-actionsandcheck:ci-scopepassed;node scripts/playwright-pr-shards.mjs --validate→PR UI shard parity OK: 46 production specs across 3 groups.Full suite left to CI.Risk and rollout
Notes
🤖 Generated with Claude Code
https://claude.ai/code/session_01JoxhPS6iT7SYdBZeSR1w1S
Generated by Claude Code
Summary by cubic
Cuts CI wall-clock time on merges and PRs by splitting the slowest browser legs, rebalancing the PR UI shards, and failing a frozen unit batch sooner.
The tablet release leg ran the whole suite on one runner and hit the 30-minute global timeout with 345 tests never run, holding Railway's "Wait for CI" for ~35 minutes on every merge. It now splits into four legs (~12 minutes each) and desktop Safari into three (~13 minutes), so every tablet test runs and main finishes in roughly 13–17 minutes instead of 36–40.
The three Production UI shards drifted to 521s/401s/346s of tests, with the heaviest setting every PR's wall clock. Re-measured timings and four file moves bring them to 422/426/420s, trimming ~1.5 minutes off each ready PR.
The unit test batch with partial coverage now fails at 13 minutes instead of 20 when a partition freezes; tests already have 30-second timeouts, and nothing is skipped or retried.
Migration
mobile-webkituntil a tabletrelease-ui-timingsreport replaces them.Written for commit e970c11. Summary will update on new commits.
CodeAnt-AI Description
Shorten CI waits and ensure tablet browser tests complete
What Changed
Impact
✅ Shorter release waits✅ Complete tablet browser test runs✅ Earlier failure for frozen unit tests💡 Usage Guide
Checking Your Pull Request
Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.
Talking to CodeAnt AI
Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:
This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.
Example
Preserve Org Learnings with CodeAnt
You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:
This helps CodeAnt AI learn and adapt to your team's coding style and standards.
Example
Retrigger review
Ask CodeAnt AI to review the PR again, by typing:
Check Your Repository Health
To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.