-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Dist build manifest #77762
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Dist build manifest #77762
Conversation
Can't we just include the rust version in this component? (Or all components, whatever) |
We need the version to extract the component's tarball anyway, so |
This also added the |
I think the const VERSION is what I'd personally like to see FWIW, it seems like we're intending promote-release to be tightly coupled anyway. |
r=me though on the PR as-is, we can worry about how we get version separately if you want |
@Mark-Simulacrum pushed two commits to do the changes you requested. |
I think you've rebased since "Note: this PR builds on top of #77336. The first commit is already approved in that PR, and it will be rebased away as soon as that PR is merged." -- can you remove that and more broadly update description as necessary for the version changes? r=me with that done. |
This commit changes the way build-manifest is invoked, to let it accept the Rust version directly instead of requiring the path of the Rust monorepo and letting build-manifest figure out the path on its own. This allows to run build-manifest without a clone of the monorepo.
This will prevent the tool mistakenly ignoring the variables if they happen to contain non-utf8 data.
498bda3
to
0b7ee9d
Compare
@bors r=Mark-Simulacrum |
📌 Commit 0b7ee9d has been approved by |
…=Mark-Simulacrum Dist build manifest This PR makes two changes that should remove a significant chunk of the time spent in our release process: cloning the `rust-lang/rust` monorepo, all its submodules, and building `bootstrap` to then invoke `build-manifest`: * `build-manifest` doesn't rely on a clone of the monorepo being present anymore. The only remaining bit of information it fetched from it (the Rust version) is instead bundled in the binary. * A new "component" is added, `build-manifest`. That component includes a prebuilt version of the tool, and it's *not* included in the Rustup manifest. This will allow `promote-release` to directly invoke the tool without interacting with our build system. * The Linux x86_64 CI is changed to also build the component mentioned above. It's the only CI builder tasked to do so, and to cleanly support this a new `--include-default-paths` flag was added to `./x.py`. * The `BUILD_MANIFEST_NUM_THREADS` environment variable is added to configure the number of threads at runtime. This PR is best reviewed commit-by-commit. r? @Mark-Simulacrum
@bors try Getting a CI build to allow me to continue developing locally. |
🙅 Please do not |
@bors r- |
@bors try |
⌛ Trying commit 0b7ee9d with merge acb9961a544903a7530fcd72e71a3e50518a230f... |
☀️ Try build successful - checks-actions, checks-azure |
@bors r=Mark-Simulacrum |
📌 Commit 0b7ee9d has been approved by |
☀️ Test successful - checks-actions, checks-azure |
[beta] Rollup backports Cherry-picked: * Always use the Rust version in package names rust-lang#77336 * rustc_parse: More precise spans for `tuple.0.0` rust-lang#77774 * Update crossbeam-channel to avoid UB rust-lang#77819 * build-manifest: stop generating numbered channel names except for stable rust-lang#77854 * Dist build manifest rust-lang#77762 * bootstrap: set correct path for the build-manifest binary rust-lang#77909 r? `@ghost`
This PR makes two changes that should remove a significant chunk of the time spent in our release process: cloning the
rust-lang/rust
monorepo, all its submodules, and buildingbootstrap
to then invokebuild-manifest
:build-manifest
doesn't rely on a clone of the monorepo being present anymore. The only remaining bit of information it fetched from it (the Rust version) is instead bundled in the binary.build-manifest
. That component includes a prebuilt version of the tool, and it's not included in the Rustup manifest. This will allowpromote-release
to directly invoke the tool without interacting with our build system.--include-default-paths
flag was added to./x.py
.BUILD_MANIFEST_NUM_THREADS
environment variable is added to configure the number of threads at runtime.This PR is best reviewed commit-by-commit.
r? @Mark-Simulacrum