-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Dist build manifest #77762
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