Repository navigation
CI: split script/check into two jobs; release reuses main's CI run - #5
Merged
Merged
Conversation
- script/check --e2e-only: step 5 alone. CI runs it on Windows and Linux as a job of its own beside --fast (--fast --linux on Linux), so the two halves together are every step. Measured on warm caches: the run's wall-clock 14.0 → 8.3 min (Windows 14 → 6 and 8.2 min, Linux 9.4 → 6 and 6.7 min). - ci.yml skips changes to documentation alone (docs/, root Markdown, tests/e2e/README.md); no gate reads them. - release.yml: when main's push run of ci.yml for the tagged commit passes, the release waits for it instead of running every gate again cold (34 min, the release's slowest path); with none, or one that doesn't pass, it runs ci.yml itself. The static musl dv is its own job, so the Windows release starts after it (~1.5 min) rather than after the AppImage (~14.6 min). PLAN §13.2, §13.4 and CLAUDE.md follow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Faster CI and releases for dv, measured on warm caches against a baseline run of the same commit.
What changes
script/check --e2e-only(step 5 alone). On Windows and Linux, CI runsscript/checkas two jobs at once:--fast(with--linuxon Linux) and--e2e-only. Together they cover every step, so the gates stay the same.docs/, the root Markdown andtests/e2e/README.md. No gate reads them.crates/dv_cli/skill/SKILL.mdis code and still runs CI.dvis its own job, so the Windows release starts after ~1.5 min instead of waiting ~14.6 min for the AppImage.Measured (one run each, warm cache; runner noise is ±15–40% per step)
--fast) + 8.2 (--e2e-only) at once--fast --linux) + 6.7 (--e2e-only) at onceNot tested by a release
Releases are the owner's, so
release.ymlhasn't run. Its new jobs were run by a stand-in workflow on a scratch branch: main-ci finding main's passing run, main-ci waiting on a run in progress, the CI job skipped, the musl build alone with its artifact downloaded and run, and the publish condition. The fallback (no run on main, so ci.yml runs here) and thereleaseenvironment step haven't run.Tried and rejected
--jobs 4. Linux 198 s → 112 s. Windows 301 s → 250 s, and it failedreview_rounds: every window there is drawn on the CPU (Microsoft Basic Render Driver), so four apps at once slow each scenario 2–5×. With the split, the scenarios aren't the slowest job on Linux, so it buys nothing.rust-lldon Windows. Warm, the test build took 78 s against 70–88 s with link.exe: no gain. Adopting it costs a full rebuild, because the linker is part of Cargo's fingerprints (the first run took 47 min).RUST_TEST_THREADS=8. No gain on Windows (336 s against 305 s) or Linux.Found on the way
tests/e2e/review_rounds.jsonl:85also fails on Windows without--jobs:/stream/top_filereadssrc/lib/http.ts, notsrc/lib/cache.ts. That happened twice in 7 Windows runs. A flaky scenario, outside this PR.🤖 Generated with Claude Code