Repository navigation
fix(ci): split J5 CI so unit tests stop hitting the job timeout - #246
Merged
Merged
Conversation
The single J5 CI job ran format, lint, typecheck, and every package's tests serially and had crept up to its 20 minute timeout with all tests green; the PR run for #242 was cancelled at 20m03s while its push twin passed at 19m19s. Split the job the way upstream ci.yml does: a checks job for format, lint, and typecheck, a test job for every package except the server, and three server shards, since the server suite runs files one at a time and alone took over eleven minutes. A gate job keeps the check name the default-branch ruleset requires and fails when any split job fails, is cancelled, or is skipped. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Jacksondr5
approved these changes
Sep 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
J5 CI ran format, lint, typecheck, and every package's tests serially in one job with a 20 minute timeout, and had crept right up to that line. The PR run for #242 was cancelled at 20m03s with every test green while its push twin passed at 19m19s. Recent runs on other branches all land between 19 and 20 minutes, so this was about to start failing for everyone. The server suite alone takes over eleven minutes because it runs files one at a time by design.
Fix
I split the workflow the way upstream
ci.ymldoes:checksruns format, lint, and typecheck.testruns every package except the server, and keeps the libsecret install the desktop tests need.test_serverruns the server suite as three shards on separate runners. No two server files share a machine, so the isolationfileParallelism: falsebuys is preserved.Format, lint, typecheck, and unit testsdepends on all of the above and fails on any failure, cancellation, or skip. The default-branch ruleset requires that exact check name, so I kept it rather than editing repo settings.Wall clock should drop from about 20 minutes to about 7.
Verification
--shard 1/40) ran 12 of 450 files and passed, so the shard flag passes throughvp run.vp fmt --check.Written by Claude Fable 5.1 in Claude Code.
🤖 Generated with Claude Code