Make sure to rebuild rustdoc if `src/rustdoc-json-types` is changed by jieyouxu · Pull Request #142758 · rust-lang/rust
rustbot
added
S-waiting-on-review
labels
Jun 19, 2025
bors
added
S-waiting-on-bors
and removed S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.labels
Jun 20, 2025Kobzol added a commit to Kobzol/rust that referenced this pull request
Jun 20, 2025Make 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, 2025Rollup 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, 2025Rollup 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, 2025Rollup 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
github-actions bot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request
Jun 23, 2025This 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