Repository navigation
build(verify): independent steps side by side - #27
Merged
Merged
Conversation
A stage's steps run at once, half the cores at a time, each one's output printed whole when it ends; `--serial` runs one at a time with its output live. The build is a stage of its own, after the rest. check:ci went from ~19 s to ~8 s here; every step still runs after one fails.
- A shared concurrency group keeps one pending run and drops the others, so back-to-back main pushes still lost results. A PR's runs share a group (a newer push cancels the older); every other run is its own. - Each verify step is a process group of its own: Ctrl-C or SIGTERM starts nothing more, stops every running step's whole tree, and exits 130/143.
…half the cores Every step sees VERIFY_RUNNING (the test runner then takes half the cores) and VERIFY_JOBS=2, which a verify honours: the app's checks run this one inside one of their slots, and six steps with their own worker pools oversubscribed the host. On GitHub each step's output folds under its line, and in CI a step that hangs is named every minute.
…ill runs --serial runs one step at a time, so the test runners keep every core (VERIFY_RUNNING only beside other steps). A second signal kills the steps still running, which a step ignoring the first cannot hang.
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.
pnpm verify(and socheck:cion GitHub/Jenkins andcheck:qualityin the app) runs a stage's steps at once, half the cores at a time. Each step's output is printed whole when it ends;--serialruns one at a time with live output. The build is a stage of its own, after the rest.check:ciwent from ~19 s to ~8 s locally. Every step still runs after one fails, and the exit code still reflects any failure. Tests cover the stage order and the concurrency.Council review
Rounds: 3
Gemini could not be reached (OpenCode Go subscription required); no other provider stood in. Both reviewers are satisfied for merge (#27 → #109 → #47 → #48).
Taken: the library checks only ask CI instead of rewriting lib/ and dist/ beside their readers; per-run concurrency groups for main; RNAP's ESLint skips docs/api; nested verifies run 2 at a time and the test runners take half the cores beside other steps; a per-test timeout instead of a CI-wide one; ::group:: folding and a CI heartbeat; process-group signal handling (a second signal kills); the web export waits for the bundle only; the janitor's Yarn prune.
Left out on purpose: automated signal tests, nested-group cosmetics, a lockfile-only audit, and a second signal reaching a nested verify's own steps (local only; CI tears the container down).