Repository navigation
ci: run short gates on one runner - #678
Merged
Merged
Conversation
fmt, deny, ast-grep, and nixos-module-eval each took a hosted runner for well under a minute. Chain them so concurrent-job slots stay available for clippy, test, and future cargo-mutants shards. Check names are unchanged. A red earlier gate still runs the later check, so deny and ast-grep are not reported as skipped.
4 tasks
2 of 15 tasks
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.
Summary
GitHub-hosted runners share one concurrent-job cap. On a pull request,
fmt,deny,ast-grep, andnixos-module-evaleach took an Ubuntu runner for well under a minute, at the same time as clippy andtest(and at the same time asmutants-prwhen the diff touches crates).Those four gates now share one runner, in order:
fmt→deny→ast-grep→nixos-module-evalCheck names are unchanged, so the ruleset contexts
denyandast-grepstill match. Later gates useif: !cancelled()so a red earlier gate still runs the later check. A skip would hide a required status.clippy,
test,windows, andmacosstill start immediately. clippy stays off the chain because coverage waits on it, and a cold rust-cache is a full workspace compile. coverage still waits forfmt, clippy, andtest. On a warm cache the short chain finishes beforetest, so the coverage critical path is unchanged.This does not raise cargo-mutants shard count or
-j. It leaves concurrent-job slots free somutants.ymlcan use more shards later.Test plan
fmt,deny,ast-grep,nixos-module-eval, clippy,test,windows,macos,coveragedenystarts afterfmt,ast-grepafterdeny,nixos-module-evalafterast-grep(one short Ubuntu runner at a time)testoverlap that chain