about summary refs log tree commit diff
path: root/src/tools/opt-dist
AgeCommit message (Collapse)AuthorLines
2025-06-29Disable rust-lld in post-dist testsJakub Beránek-0/+2
2025-06-25Remove `mut`Jakub Beránek-2/+2
2025-06-25Skip more dist componentsJakub Beránek-0/+5
2025-06-25Skip unnecessary components in x64 try buildsJakub Beránek-4/+22
2025-05-29Bump rustc-perf and update PGO cratesMichael Goulet-1/+1
2025-05-17opt-dist: fix deprecated BOLT -icf=1 optionklensy-1/+1
2025-05-08Do not deny warnings for fast try buildsJakub Beránek-10/+27
2025-05-08Migrate `opt-dist` to edition 2024Jakub Beránek-2/+5
2025-05-08Remove unused dependency from opt-distJakub Beránek-1/+0
2025-05-02Update sysinfo to `0.35.0` in `src/tools/opt-dist`Guillaume Gomez-1/+1
2025-04-17Rollup merge of #139962 - ognevny:opt-dist-tests, r=KobzolMatthias Krüger-1/+14
opt-dist: add a flag for running tests when using `opt-dist local` user probably won't need to run tests (for various reasons). currently the only way to disable them is to set `TRY_DIST_BUILD=1`, which is not obvious and can be bad for non-CI envronments (as I guess) possibly the `run_tests` name can be confusing too... r? Kobzol try-job: dist-x86_64-linux try-job: dist-x86_64-msvc
2025-04-17opt-dist: add a flag for running testsMaksim Bondarenkov-1/+14
when using `opt-dist local` user probably won't need to run tests (for various reasons). currently the only way to disable them is to set `TRY_DIST_BUILD=1`, which is not obvious and can be bad for non-CI envronments (as I guess)
2025-04-16Only delete the lld directory if it existsJakub Beránek-1/+3
2025-04-16Allow disabling `--llvm-shared` in opt-distJakub Beránek-1/+1
2025-04-12opt-dist: use executable-extension for host llvm-profdataMaksim Bondarenkov-1/+3
so the merging step doesn't fail for `opt-dist local` on Windows
2025-03-17replace config.toml to bootstrap.toml in src:toolsbit-aloo-5/+13
2025-03-13Do not overwrite original `config.toml` in `opt-dist`Jakub Beránek-29/+52
So that follow-up CI commands can proceed normally. It will also avoid overwriting `config.toml` when running opt-dist tests locally.
2025-03-04Rollup merge of #137667 - Kobzol:gcc-dist-build, r=onur-ozkanJubilee-0/+1
Add `dist::Gcc` build step This PR adds a `dist:Gcc` bootstrap step to distribute a prebuilt `libgccjit.so` from CI on x64 Linux. With primed sccache, the build takes ~4 minutes on CI, and produces a 50 MiB archive. I want to land this before adding something akin to `[gcc] download-ci-gcc = true`, to already have the artifacts available on CI, to make it easier to setup the download merge-base logic. r? ``@ghost``
2025-03-04Move `BuildStep` and metric logging into `build_helper`Jakub Beránek-70/+3
2025-02-28Add `dist:Gcc` build stepJakub Beránek-0/+1
To distribute the prebuilt libgccjit.so from CI.
2025-01-29tests: Skip const OOM tests on aarch64-unknown-linux-gnuKajetan Puchalski-11/+1
Skip const OOM tests on AArch64 Linux through explicit annotations instead of inside opt-dist. Intended to avoid confusion in cases like #135952. Prerequisite for https://github.com/rust-lang/rust/pull/135960.
2025-01-27Fix 2/4 tests skipped by opt-distBen Kimock-13/+7
2025-01-22Run the glibc run-make test in opt-distJakub Beránek-0/+1
2025-01-21Enable verbose tests in opt-dist testsJakub Beránek-0/+1
2025-01-21Add test for checking used glibc symbolsJakub Beránek-1/+6
2025-01-13ci: Enable opt-dist for dist-aarch64-linux buildsKajetan Puchalski-9/+32
Enable optimised AArch64 dist builds with the opt-dist pipeline. For the time being, disable bolt on aarch64 due to upstream bolt bugs.
2025-01-06Don't enable anyhow's `backtrace` feature in opt-distZalathar-1/+1
As of the stabilization of `std::backtrace` in Rust 1.65, this package flag has no effect other than to enable an unused dependency on the `backtrace` crate.
2024-12-20opt-dist: propagate channel info to bootstrapJieyou Xu-1/+17
2024-11-11move `src/tools/build_helper` into `src/build_helper`onur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-02Rename target triple to target tuple in many places in the compilerNoratrieb-11/+11
This changes the naming to the new naming, used by `--print target-tuple`. It does not change all locations, but many.
2024-10-07Remove valgrind test suite from opt-dist许杰友 Jieyou Xu (Joe)-1/+0
2024-09-22Reformat using the new identifier sorting from rustfmtMichael Goulet-5/+5
2024-09-12use `local-rebuild` instead of `BOOTSTRAP_SKIP_TARGET_SANITY` workaroundonur-ozkan-7/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-08-27set `BOOTSTRAP_SKIP_TARGET_SANITY` in opt-dist before running testsonur-ozkan-1/+7
opt-dist overrides the stage 0 compiler with previously compiled compilers, which can cause confusion in bootstrap's target sanity checks. It is best to skip that check. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-08-01Update sysinfo version to 0.31.2Guillaume Gomez-1/+1
2024-07-30Auto merge of #128083 - Mark-Simulacrum:bump-bootstrap, r=albertlarsan68bors-14/+17
Bump bootstrap compiler to new beta https://forge.rust-lang.org/release/process.html#master-bootstrap-update-t-2-day-tuesday
2024-07-30Revert "opt-dist: dont overrwite config.toml when verifying"Mark Rousskov-14/+17
This reverts commit c81a40bbc02bb44aa99b3a94322dbf07e7a62ce1.
2024-07-29Reformat `use` declarations.Nicholas Nethercote-21/+28
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-06-13opt-dist: apply considerable clippy suggestionsonur-ozkan-5/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-06-09feat: vendor crates required by opt-dist to collect profilesWeihang Lo-21/+1
These are the default package set required by opt-dist to correctly work, hence for people wanting to build a production grade of rustc in a sandboxed / air-gapped environment, these need to be vendored. The size of `rustc-src-nightly.tar.xz` before and after this change: * Before: 298M * After: 323M (+8%) These crates are the default set of packages required by opt-dist to correctly work, hence for people wanting to build a production grade of rustc in an sandboxed / air-gapped environment, these need to be vendored. The size of `rustc-src-nightly.tar.xz` before and after this change: * Before: 298M * After: 323M (+8%) Size change might or might not be a concern. See the previous discussion: https://github.com/rust-lang/rust/pull/125166#issuecomment-2113626468 Previous efforts on making: * https://github.com/rust-lang/rust/pull/125125 * https://github.com/rust-lang/rust/pull/125166 --- Note that extra works still need to be done to make it fully vendored. * The current pinned rustc-perf uses `tempfile::Tempdir` as the working directory when collecting profiles from some of these packages. This "tmp" working directory usage make it impossible for Cargo to pick up the correct vendor sources setting in `.cargo/config.toml` bundled in the rustc-src tarball. [^1] * opt-dist verifies the final built rustc against a subset of rustc test suite. However it rolls out its own `config.toml` without setting `vendor = true`, and that results in `./vendor/` directory removed. [^2] [^1]: https://github.com/rust-lang/rustc-perf/blob/4f313add609f43e928e98132358e8426ed3969ae/collector/src/compile/benchmark/mod.rs#L164-L173 [^2]: https://github.com/rust-lang/rust/blob/606afbb617a2949a4e35c4b0258ff94c980b9451/src/tools/opt-dist/src/tests.rs#L62-L77
2024-06-03feat(opt-dist): new flag `--benchmark-cargo-config`Weihang Lo-2/+25
The flag propagates cargo configs to `rustc-perf --cargo-config`, which is particularly useful when the environment is air-gapped, and you want to use the default set of training crates vendored in the rustc-src tarball.
2024-05-25opt-dist: dont overrwite config.toml when verifyingWeihang Lo-17/+14
This is another step toward making opt-dist work in sandboxed environments opt-dist verifies the final built rustc against a subset of rustc test suite. However it overwrote the pre-existing `config.toml` [^1], and that results in ./vendor/ directory removed [^2]. Instead of overwriting, this patch use `--set <config-value>` to override paths to rustc / cargo / llvm-config. [^1]: https://github.com/rust-lang/rust/blob/606afbb617a2949a4e35c4b0258ff94c980b9451/src/tools/opt-dist/src/tests.rs#L62-L77 [^2]: https://github.com/rust-lang/rust/blob/8679004993f08807289911d9f400f4ac4391d2bc/src/bootstrap/bootstrap.py#L1057
2024-05-20refactor(opt-dist): use rustc-perf from rustc checkoutBernardo Meurer Costa-43/+14
This replaces the hardcoded rustc-perf commit and ad-hoc downloading and unpacking of its zipped source with defaulting to use the new rustc-perf submodule. While it would be nice to make `opt-dist` able to initialize the submodule automatically when pointing to a Rust checkout _other_ than the one opt-dist was built in, that would require a bigger refactor that moved `update_submodule`, from bootstrap, into build_helper. Regardless, I imagine it must be quite rare to use `opt-dist` with a checkout that is neither from a rust-src tarball (which will contain the submodule), nor the checkout opt-dist itself was built (bootstrap will update the submodule when opt-dist is built).
2024-05-14feat(tools/opt-dist): allow local builds to specify a rustc-perf checkoutBernardo Meurer Costa-0/+6
2024-05-09opt-dist: use xz2 instead of xz crateklensy-1/+1
xz crate consist of simple reexport of xz2 crate. Why? Idk.
2024-04-14crashes: add another test showing that everything works fine when we need ↵Matthias Krüger-1/+1
compile-flags to repro an ice and add README
2024-04-14bootstrap/compiletest: implement "crashes" tests that fail if no ice is ↵Matthias Krüger-0/+1
reproduced
2024-03-16Auto merge of #119418 - aaupov:master, r=Kobzolbors-1/+3
[BOLT] Use CDSort and CDSplit CDSort and CDSplit are the most recent versions of function ordering and function splitting algorithms with some improvements over the previous baseline (ext-tsp and two-way splitting).
2024-03-07Include all library files in artifact summary on CIJakub Beránek-14/+1
2024-03-07Auto merge of #121866 - Kobzol:opt-dist-find-llvm, r=Mark-Simulacrumbors-0/+13
Modify opt-dist logic for finding LLVM artifacts This is the `rustc` side of fixing https://github.com/rust-lang/rust/pull/121395#issuecomment-1973572885.