-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Make sure to rebuild rustdoc if src/rustdoc-json-types
is changed
#142758
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
Merged
Conversation
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
Thanks ❤️!
It's been around for ages (#81287), I think this was hidden for so longer because modifying |
@bors r+ rollup |
Kobzol
added a commit
to Kobzol/rust
that referenced
this pull request
Jun 20, 2025
Make sure to rebuild rustdoc if `src/rustdoc-json-types` is changed I think `rustdoc-json-types` was more recently split out, so this download-rustc logic became outdated as it wasn't tracked. This PR adds `src/rustdoc-json-types` to be tracked for difference versus upstream, so that we properly rebuild rustdoc if it has changes versus upstream. Fixes rust-lang#142738. ### Local testing This is not so easy to test locally because it requires download-rustc. To test this, you need to: 1. Disable `download-rustc` inhibition from bootstrap changes versus upstream, by including `:!src/bootstrap` in https://github.com/rust-lang/rust/blob/255aa220821c05c3eac7605fce4ea1c9ab2cbdb4/src/bootstrap/src/core/config/config.rs#L67-L74. 2. Then, use a config like `profile = "tools"` which by default uses `download-rustc = "if-unchanged"`. 3. Run `./x test tests/rustdoc-json` one time, to "prime" initial build caches. 4. Change the `FORMAT_VERSION` in `src/rustdoc-json-types`, i.e. ```diff diff --git a/src/rustdoc-json-types/lib.rs b/src/rustdoc-json-types/lib.rs index 1f93895..72a3720c7b4 100644 --- a/src/rustdoc-json-types/lib.rs +++ b/src/rustdoc-json-types/lib.rs `@@` -38,7 +38,7 `@@` // are deliberately not in a doc comment, because they need not be in public docs.) // // Latest feature: Pretty printing of inline attributes changed -pub const FORMAT_VERSION: u32 = 48; +pub const FORMAT_VERSION: u32 = 666; ``` 5. Observe that without this patch, `rustdoc-json` tests fail because `FORMAT_VERSION` mismatch. Observe that with this patch, rustdoc gets properly rebuilt and `rustdoc-json` tests pass. cc `@aDotInTheVoid` r? Kobzol
bors
added a commit
that referenced
this pull request
Jun 20, 2025
Rollup of 11 pull requests Successful merges: - #142478 (install docs for each target in different directory) - #142629 (Add config builder for bootstrap tests) - #142715 (correct template for `#[align]` attribute) - #142720 (De-dup common code from `ExternalCrate` methods) - #142736 (add issue template for rustdoc) - #142743 (rustc-dev-guide subtree update) - #142744 (Add a mailmap entry for y21) - #142758 (Make sure to rebuild rustdoc if `src/rustdoc-json-types` is changed) - #142764 (Convert `ilog(10)` to `ilog10()`) - #142767 (Some symbol and PathRoot cleanups) - #142769 (remove equivalent new method on context) r? `@ghost` `@rustbot` modify labels: rollup
bors
added a commit
that referenced
this pull request
Jun 20, 2025
Rollup of 10 pull requests Successful merges: - #142629 (Add config builder for bootstrap tests) - #142715 (correct template for `#[align]` attribute) - #142720 (De-dup common code from `ExternalCrate` methods) - #142736 (add issue template for rustdoc) - #142743 (rustc-dev-guide subtree update) - #142744 (Add a mailmap entry for y21) - #142758 (Make sure to rebuild rustdoc if `src/rustdoc-json-types` is changed) - #142764 (Convert `ilog(10)` to `ilog10()`) - #142767 (Some symbol and PathRoot cleanups) - #142769 (remove equivalent new method on context) r? `@ghost` `@rustbot` modify labels: rollup
rust-timer
added a commit
that referenced
this pull request
Jun 20, 2025
Rollup merge of #142758 - jieyouxu:rustdoc-json-types, r=Kobzol Make sure to rebuild rustdoc if `src/rustdoc-json-types` is changed I think `rustdoc-json-types` was more recently split out, so this download-rustc logic became outdated as it wasn't tracked. This PR adds `src/rustdoc-json-types` to be tracked for difference versus upstream, so that we properly rebuild rustdoc if it has changes versus upstream. Fixes #142738. ### Local testing This is not so easy to test locally because it requires download-rustc. To test this, you need to: 1. Disable `download-rustc` inhibition from bootstrap changes versus upstream, by including `:!src/bootstrap` in https://github.com/rust-lang/rust/blob/255aa220821c05c3eac7605fce4ea1c9ab2cbdb4/src/bootstrap/src/core/config/config.rs#L67-L74. 2. Then, use a config like `profile = "tools"` which by default uses `download-rustc = "if-unchanged"`. 3. Run `./x test tests/rustdoc-json` one time, to "prime" initial build caches. 4. Change the `FORMAT_VERSION` in `src/rustdoc-json-types`, i.e. ```diff diff --git a/src/rustdoc-json-types/lib.rs b/src/rustdoc-json-types/lib.rs index 1f93895..72a3720c7b4 100644 --- a/src/rustdoc-json-types/lib.rs +++ b/src/rustdoc-json-types/lib.rs ``@@`` -38,7 +38,7 ``@@`` // are deliberately not in a doc comment, because they need not be in public docs.) // // Latest feature: Pretty printing of inline attributes changed -pub const FORMAT_VERSION: u32 = 48; +pub const FORMAT_VERSION: u32 = 666; ``` 5. Observe that without this patch, `rustdoc-json` tests fail because `FORMAT_VERSION` mismatch. Observe that with this patch, rustdoc gets properly rebuilt and `rustdoc-json` tests pass. cc ``@aDotInTheVoid`` r? Kobzol
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.
I think
rustdoc-json-types
was more recently split out, so this download-rustc logic became outdated as it wasn't tracked. This PR addssrc/rustdoc-json-types
to be tracked for difference versus upstream, so that we properly rebuild rustdoc if it has changes versus upstream.Fixes #142738.
Local testing
This is not so easy to test locally because it requires download-rustc. To test this, you need to:
download-rustc
inhibition from bootstrap changes versus upstream, by including:!src/bootstrap
inrust/src/bootstrap/src/core/config/config.rs
Lines 67 to 74 in 255aa22
profile = "tools"
which by default usesdownload-rustc = "if-unchanged"
../x test tests/rustdoc-json
one time, to "prime" initial build caches.FORMAT_VERSION
insrc/rustdoc-json-types
, i.e.rustdoc-json
tests fail becauseFORMAT_VERSION
mismatch. Observe that with this patch, rustdoc gets properly rebuilt andrustdoc-json
tests pass.cc @aDotInTheVoid
r? Kobzol