-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bootstrap: allow skipping steps with start of path #133492
Merged
Merged
+5
−5
Conversation
This file contains 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
rustbot
added
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
T-bootstrap
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
labels
Nov 26, 2024
onur-ozkan
reviewed
Nov 28, 2024
r? onur-ozkan |
MarcoIeni
force-pushed
the
bootstrap-path-check
branch
from
November 28, 2024 08:03
2c0cf8b
to
0c8c38f
Compare
onur-ozkan
approved these changes
Nov 29, 2024
@bors r+ rollup |
bors
added
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
Nov 29, 2024
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this pull request
Nov 29, 2024
…onur-ozkan bootstrap: allow skipping steps with start of path
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Nov 29, 2024
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#132782 (improvements on initial sysroot and libdir finding logics) - rust-lang#133134 (Don't use a SyntheticProvider for literally every type) - rust-lang#133466 (Fix typos in pin.rs) - rust-lang#133492 (bootstrap: allow skipping steps with start of path) - rust-lang#133501 (support revealing defined opaque post borrowck) - rust-lang#133530 (Use consistent wording in docs, use is zero instead of is 0) - rust-lang#133538 (Better diagnostic for fn items in variadic functions) - rust-lang#133590 (Rename `-Zparse-only`) r? `@ghost` `@rustbot` modify labels: rollup
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Nov 29, 2024
…iaskrgr Rollup of 7 pull requests Successful merges: - rust-lang#132782 (improvements on initial sysroot and libdir finding logics) - rust-lang#133466 (Fix typos in pin.rs) - rust-lang#133492 (bootstrap: allow skipping steps with start of path) - rust-lang#133501 (support revealing defined opaque post borrowck) - rust-lang#133530 (Use consistent wording in docs, use is zero instead of is 0) - rust-lang#133538 (Better diagnostic for fn items in variadic functions) - rust-lang#133590 (Rename `-Zparse-only`) r? `@ghost` `@rustbot` modify labels: rollup
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Nov 29, 2024
Rollup merge of rust-lang#133492 - MarcoIeni:bootstrap-path-check, r=onur-ozkan bootstrap: allow skipping steps with start of path
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
T-bootstrap
Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
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.
Current status
Right now the way to skip steps in bootstrap is by doing
--skip=<something>
or--exclude=<something>
, where<something>
must be the end of the path of the step you want to exclude.E.g. if I want to skip the step
src/etc/test-float-parse
you can pass one of these:--skip=test-float-parse
--skip=etc/test-float-parse
--skip=src/etc/test-float-parse
.Change of this PR
I added the ability to skip steps that starts with a certain path.
E.g. now you can do
--skip=src
or--skip=src/etc/
to skip all subdirectories.How to test
Run
cargo run -- test --stage 2 --dry-run --exclude=tests/
and verify the log lines starting with "Skipping" 👍You might also add
--verbose
for additional logs.Retro-compatibility
Maintaining the precedence of
ends_with
should maintain retro-compatibility, as existing "skips" match first.Warning
A breaking change in an invocation might happen if both:
--skip <something>
that didn't match anything initially (that's an error in the script)<something>
matches the beginning of a pathImo this is VERY rare so I'm not concerned about breakages in existing scripts.
Why I need this
In CI, I would like to split tests across multiple jobs, and having this feature allows things like
--skip tests/
✨The alternative is specifying
--skip tests/ui --skip tests/rustdoc ...
and so on for every subdirectory 😵