summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2025-05-02extend the list of registered dylibs on `test::prepare_cargo_test`onur-ozkan-3/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev> (cherry picked from commit 7b25d4a99edc12909dc73c31cb6a44238c4b9bf9)
2025-03-29Auto merge of #138784 - madsmtm:bootstrap-bump-cc-cmake, r=jieyouxubors-13/+44
Bump boostrap `cc` to 1.2.17 and `cmake` to 0.1.54 The `cc` version in `bootstrap` was reverted down to 1.1.22 in https://github.com/rust-lang/rust/pull/137460 (previously at 1.2.0). The offending issue has since then been resolved in https://github.com/rust-lang/cc-rs/pull/1413, and a new version of `cc` has been released in https://github.com/rust-lang/cc-rs/pull/1435, so let's try to update the version again. See [the `cc-rs` changelog](https://github.com/rust-lang/cc-rs/blob/d9dd20e376368c7535f6ef89b809098f5f203c1a/CHANGELOG.md) and [the `cmake-rs` changelog](https://github.com/rust-lang/cmake-rs/blob/fd56c5a6b4ecda8815c863eb5b12d7b3f0391197/CHANGELOG.md) for details on what has changed here. r? jieyouxu who tried this last in https://github.com/rust-lang/rust/pull/137022. `@rustbot` label T-bootstrap try-job: *apple*
2025-03-28Rollup merge of #139045 - onur-ozkan:less-verbose-bootstrap-test, r=KobzolMatthias Krüger-1/+1
bootstrap: update `test_find` test `cc::Build::get_archiver` is noisy on the `arm-linux-androideabi` target and constantly printing `llvm-ar --version` output during bootstrap tests on all platforms.
2025-03-28Rollup merge of #138986 - Shourya742:2025-03-25-add-ignore-to-change-id, ↵Matthias Krüger-48/+79
r=Kobzol feat(config): Add ChangeId enum for suppressing warnings closes: #138925
2025-03-28bootstrap: update `test_find` testonur-ozkan-1/+1
`cc::Build::get_archiver` is noisy on the `arm-linux-androideabi` target and constantly printing `llvm-ar --version` output during bootstrap tests on all platforms. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-28bootstrap: Update download-ci-llvm-stampMads Marquart-1/+1
This PR makes a fairly large version update to CMake and cc, so it is likely that LLVM is built differently.
2025-03-28bootstrap: Override CMAKE_OSX_SYSROOT when building compiler-rtMads Marquart-3/+4
Similarly to what was previously done for the `llvm` step.
2025-03-28bootstrap: Set CMAKE_SYSTEM_NAME=Darwin on Apple platformsMads Marquart-0/+8
compiler-rt's CMake setup seems to have special logic for Apple platforms that works poorly when this is not set.
2025-03-28bootstrap: Fix CMAKE_OSX_ARCHITECTURES on all Apple platformsMads Marquart-1/+1
2025-03-28bootstrap: Always set CMAKE_SYSTEM_NAME when cross-compilingMads Marquart-0/+24
To avoid a panic in cmake-rs that was introduced in: https://github.com/rust-lang/cmake-rs/pull/158
2025-03-28bootstrap: bump cc to 1.2.17 and cmake to 0.1.54Mads Marquart-8/+6
2025-03-28Add new change-id option in bootstrap.example.toml and update the change-id ↵bit-aloo-4/+8
description references
2025-03-27Rollup merge of #139016 - Kobzol:post-merge-analysis-durations, r=marcoieniJacob Pratt-3/+19
Add job duration changes to post-merge analysis report This should help us observe large regressions in job duration changes. I would also like to add quick links to GH jobs/workflow to the post-merge workflow, but for that I first need to store some CI metadata to the bootstrap metrics, to make it easier to lookup the corresponding GH workflows (otherwise we'd need to look them up by commit SHA, which would be much more complicated). The last commit adds this metadata. Once this PR is merged, and the metadata will be available in the metrics stored on S3, I'll send a follow-up PR that uses the metadata to add links to job names in the post-merge workflow report. r? `@marcoieni`
2025-03-27add changeInfo to change trackerbit-aloo-0/+5
2025-03-27feat(config): Add ChangeId enum for suppressing warningsbit-aloo-48/+70
Introduces the `ChangeId` enum to allow suppressing `change_id` warnings. Now, `ChangeId` supports both numeric values and the string literal `"ignore"`. Numeric values behave as expected, while `"ignore"` is used to suppress warning messages.
2025-03-27Add CI metadata to bootstrap metricsJakub Beránek-3/+19
This will allow us to provide links to CI workflows, jobs and summaries in the post-merge analysis report.
2025-03-27Remove some asserts from the `download_ci_llvm` bootstrap testJakub Beránek-21/+1
2025-03-24Add target maintainer information for powerpc64-unknown-linux-muslJens Reidel-0/+5
We intend to fix the outstanding issues on the target and eventually promote it to tier 2. We have the capacity to maintain this target in the future and already perform regular builds of rustc for this target. Currently, all host tools except miri build fine, but I have a patch for libffi-sys to make miri also compile fine for this target that is pending review [1]. While at it, add an option for the musl root for this target. [1]: https://github.com/tov/libffi-rs/pull/100 Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2025-03-23Rollup merge of #138606 - heiseish:131365-extended, r=Mark-SimulacrumJacob Pratt-6/+55
Fix missing rustfmt in msi installer - cont ## Context - This PR extended and fixed https://github.com/rust-lang/rust/pull/131365, which was reverted in https://github.com/rust-lang/rust/pull/135253 - Initial effort from `@klensy` in https://github.com/rust-lang/rust/pull/135255 (at any points if you feel like picking this up again, let me know I'll close my PR! Just trying to push this through since it's my mistake in the original commits) - Tested with both `beta` and `nightly` `rust.channel` r? `@Mark-Simulacrum`
2025-03-23Rollup merge of #138321 - wesleywiser:bootstrap_package_pdbs, r=onur-ozkanJacob Pratt-99/+255
[bootstrap] Distribute split debuginfo if present If debuginfo has been requested in `config.toml`, it should be packaged alongside the appropriate binary when running `x.py dist`. Currently, this is only implemented for msvc environments where split debuginfo is (basically) the only option. I've tested that this correctly packages the `.pdb` for each binary in the various dist packages.
2025-03-22Rollup merge of #138763 - aDotInTheVoid:two-years-later, r=GuillaumeGomezMatthias Krüger-0/+15
jsondocck: Replace `jsonpath_lib` with `jsonpath-rust` The current jsonpath implementation we use isn't spec-compliant, and is buggy. See https://github.com/freestrings/jsonpath/issues/91 To solve it, it's replaced with https://github.com/besok/jsonpath-rust. This is spec-compiant, and doesn't have a really awkward bug we need to always dance around. Unfortunately, this requires rewriting almost every test, as the behaviour of `[?(```@`,``` which is *extremely* common was changed. (But the new behaviour makes way more sense, and isn't buggy with tripply nested selectors) Unblocks #110406. Makes #100515 much easier as we don't need to explain the broken JSONPath implementation Best reviewed commit-by-commit. The first does the replacement. The next two rewrite the test-suite mechanically. The last rewrites the test-suite by hand. r? ```@GuillaumeGomez```
2025-03-21Auto merge of #138791 - matthiaskrgr:rollup-ev46cqr, r=matthiaskrgrbors-47/+54
Rollup of 9 pull requests Successful merges: - #138364 (ports the compiler test cases to new rust_intrinsic format) - #138570 (add `naked_functions_target_feature` unstable feature) - #138623 ([bootstrap] Use llvm_runtimes for compiler-rt) - #138627 (Autodiff cleanups) - #138669 (tests: accept some noise from LLVM 21 in symbols-all-mangled) - #138706 (Improve bootstrap git modified path handling) - #138709 (Update GCC submodule) - #138717 (Add an attribute that makes the spans from a macro edition 2021, and fix pin on edition 2024 with it) - #138721 (Use explicit cpu in some asm and codegen tests.) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-21Rollup merge of #138706 - Kobzol:bootstrap-git-refactor-1, r=onur-ozkanMatthias Krüger-46/+50
Improve bootstrap git modified path handling Drive-by improvements extracted out of https://github.com/rust-lang/rust/pull/138591. r? ``@onur-ozkan``
2025-03-21Rollup merge of #138623 - daltenty:daltenty/fix-compiler-rt, r=KobzolMatthias Krüger-1/+4
[bootstrap] Use llvm_runtimes for compiler-rt Trying to enable `compiler-rt` via `LLVM_ENABLE_PROJECTS` is no longer a supported option in LLVM, and gives you nasty warnings: ``` Using LLVM_ENABLE_PROJECTS=compiler-rt is deprecated now, and will become a fatal error in the LLVM 21 release. Please use -DLLVM_ENABLE_RUNTIMES=compiler-rt or see the instructions at https://compiler-rt.llvm.org/ for building the runtimes. ``` try-job: aarch64-gnu-debug try-job: x86_64-gnu-debug
2025-03-21Fix test using `download-ci-llvm=true` on CIJakub Beránek-1/+1
2025-03-21Set `if-unchanged` as the default value for `download-ci-llvm` when we're on CI.Jakub Beránek-1/+8
2025-03-21Allow unused code in testsJakub Beránek-0/+1
To avoid working around some code being unused in tests due to it being stubbed out with `#[cfg(test)]`.
2025-03-21Remove duplicated check for LLVM modifications and disable ↵Jakub Beránek-42/+23
`download-ci-llvm=true` on CI
2025-03-21Unify LLVM invalidation path handlingJakub Beránek-15/+16
Before it was using a different set of paths in different call-sites.
2025-03-21Rollup merge of #138743 - onur-ozkan:override-is-ci-behaviour, r=KobzolMatthias Krüger-26/+45
bootstrap: add `--ci` flag To make bootstrap act like it's running on CI, we had to override the `GITHUB_ACTIONS` environment variable which is a hidden detail of `CiEnv::is_ci`. Now, we can use the `--ci` flag directly on bootstrap which will be documented automatically from `x --help`. This also helps us to avoid race conditions on bootstrap (overriding `GITHUB_ACTIONS` env in each test can cause that if we run the tests in parallel) tests.
2025-03-21jsondocck: Replace `jsonpath_lib` with `jsonpath-rust`Alona Enraght-Moony-0/+15
2025-03-20add test for `Config::is_running_on_ci`onur-ozkan-0/+17
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-20make it possible to override CI/non-CI environment behaviouronur-ozkan-26/+28
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-20Use `-Wunused_crate_dependencies` for compiler crates.Nicholas Nethercote-0/+1
It's very useful. There are some false positives involving integration tests in `rustc_pattern_analysis` and `rustc_serialize`. There is also a false positive involving `rustc_driver_impl`'s `rustc_randomized_layouts` feature. And I removed a `rustc_span` mention in a doc comment in `rustc_log` because it wasn't integral to the comment but caused a dev-dependency.
2025-03-19Respect `--src` bootstrap flagJakub Beránek-45/+49
Previously it was simply ignored.
2025-03-19Simplify `get_git_modified_files`Jakub Beránek-1/+1
It only ever returned `Some`, so `Option` was useless in its return type.
2025-03-19Auto merge of #138693 - matthiaskrgr:rollup-ejq8mwp, r=matthiaskrgrbors-7/+2
Rollup of 10 pull requests Successful merges: - #136177 (clarify BufRead::{fill_buf, consume} docs) - #138654 (Remove the regex dependency from coretests) - #138655 (rustc-dev-guide sync) - #138656 (Remove double nesting in post-merge workflow) - #138658 (CI: mirror alpine and centos images to ghcr) - #138659 (coverage: Don't store a body span in `FunctionCoverageInfo`) - #138661 (Revert: Add *_value methods to proc_macro lib) - #138670 (Remove existing AFIDT implementation) - #138674 (Various codegen_llvm cleanups) - #138684 (use then in docs for `fuse` to enhance readability) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-18Revert "Rollup merge of #136355 - ↵Ralf Jung-7/+2
GuillaumeGomez:proc-macro_add_value_retrieval_methods, r=Amanieu" This reverts commit 08dfbf49e30d917c89e49eb14cb3f1e8b8a1c9ef, reversing changes made to 10bcdad7df0de3cfb95c7bdb7b16908e73cafc09.
2025-03-18Rollup merge of #138080 - moxian:bootstrap-breadcrumb, r=jieyouxuMatthias Krüger-2/+3
Leave a breadcrumb towards bootstrap config documentation in `bootstrap.toml` I was curious as to the possible bootstrap options I can put in config.toml, but had some trouble figuring it out. There is no obvious documentation in `config.toml` (obviously), the documentation in src/bootstrap/defaults is *nice*, but also rather sparse, by design. I had to dive into the parsing code, and stuble upon [a very helpful doc comment](https://github.com/rust-lang/rust/blob/30f168ef811aec63124eac677e14699baa9395bd/src/bootstrap/src/core/config/config.rs#L181) there to realize that `config.example.toml` *exists*, and that it does, indeed, answer all of my questions. So I figured it might be worth making this journey a bit easier for future contributors and add mention the `config.example.toml` directly in `config.toml`. Now, since #137081 is in-flight which would rename `config(.example)?.toml` to `bootstrap(.example)?.toml`, I figure it's better to wait until that one lands, and submit the "new", "correct" filename upfront, instead of landing `config.toml` now and updating it to `boostrap.toml` later. `@rustbot` blocked #137081
2025-03-17[bootstrap] Distribute split debuginfo if presentWesley Wiser-99/+255
If debuginfo has been requested in `config.toml`, it should be packaged alongside the appropriate binary when running `x.py dist`. Currently, this is only implemented for msvc environments where split debuginfo is (basically) the only option. I've tested that this correctly packages the `.pdb` for each binary in the various dist packages.
2025-03-17Use llvm_runtimes for compiler-rtDavid Tenty-1/+4
2025-03-17Auto merge of #138611 - matthiaskrgr:rollup-hmjbqva, r=matthiaskrgrbors-1/+1
Rollup of 7 pull requests Successful merges: - #133870 (Stabilize `asm_goto` feature gate) - #137449 (Denote `ControlFlow` as `#[must_use]`) - #137465 (mir_build: Avoid some useless work when visiting "primary" bindings) - #138349 (Emit function declarations for functions with `#[linkage="extern_weak"]`) - #138412 (Install licenses into `share/doc/rust/licenses`) - #138577 (rustdoc-json: Don't also include `#[deprecated]` in `Item::attrs`) - #138588 (Avoid double lowering of idents) Failed merges: - #138321 ([bootstrap] Distribute split debuginfo if present) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-17Auto merge of #137081 - ↵bors-110/+138
Shourya742:2025-02-15-change-config.toml-to-bootstrap.toml, r=onur-ozkan,jieyouxu,kobzol change config.toml to bootstrap.toml Currently, both Bootstrap and Cargo uses same name as their configuration file, which can be confusing. This PR is based on a discussion to rename `config.toml` to `bootstrap.toml` for Bootstrap. Closes: https://github.com/rust-lang/rust/issues/126875. I have split the PR into atomic commits to make it easier to review. Once the changes are finalized, I will squash them. I am particularly concerned about the changes made to modules that are not part of Bootstrap. How should we handle those changes? Should we ping the respective maintainers?
2025-03-17modify config.toml->bootstrap.toml for new upstream changesbit-aloo-4/+4
2025-03-17Rollup merge of #138412 - cuviper:licenses, r=jieyouxuMatthias Krüger-1/+1
Install licenses into `share/doc/rust/licenses` This changes the path from "licences" to "licenses" for consistency across the repo, including the usage directly around this line. This is a US/UK spelling difference, but I believe the US spelling is also more common in open source in general.
2025-03-17adjust commentGiang Dao-22/+8
2025-03-17wix: allow to skip more componentsklensy-2/+30
2025-03-17fix missing rustfmt for apple darwinGiang Dao-3/+9
2025-03-17fix missing rustfmt and clippy for msiGiang Dao-1/+30
2025-03-17Rollup merge of #138592 - onur-ozkan:follow-up-137147, r=KobzolJacob Pratt-1/+1
update change entry for #137147 r? `@RalfJung`