about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2025-04-09Auto merge of #139552 - matthiaskrgr:rollup-b194mk8, r=matthiaskrgrbors-1/+1
Rollup of 10 pull requests Successful merges: - #139494 (Restrict some queries by def-kind more) - #139496 (Revert r-a changes of rust-lang/rust#139455) - #139506 (add missing word in doc comment (part 2)) - #139515 (Improve presentation of closure signature mismatch from `Fn` trait goal) - #139520 (compiletest maintenance: sort deps and drop dep on `anyhow`) - #139523 (Rustc dev guide subtree update) - #139526 (Fix deprecation note for std::intrinsics) - #139528 (compiletest: Remove the `--logfile` flag) - #139541 (Instantiate higher-ranked transmute goal w/ placeholders before emitting sub-obligations) - #139547 (Update library tracking issue template to set S-tracking-unimplemented) r? `@ghost` `@rustbot` modify labels: rollup
2025-04-08Rollup merge of #139506 - tshepang:patch-6, r=jieyouxuMatthias Krüger-1/+1
add missing word in doc comment (part 2)
2025-04-08Rollup merge of #139504 - tshepang:patch-5, r=jieyouxuMatthias Krüger-6/+6
add missing word in doc comment
2025-04-08Rollup merge of #139386 - onur-ozkan:configurable-compiletest-libtest, ↵Stuart Cook-6/+83
r=jieyouxu,kobzol make it possible to use stage0 libtest on compiletest With https://github.com/rust-lang/rust/pull/119899, building the library tree will require a stage 1 compiler. This is because `compiletest` is defined as a `ToolStd` (since https://github.com/rust-lang/rust/pull/68019) in order to use the in-tree library. As a result, https://github.com/rust-lang/rust/pull/119899 makes certain development workflows more difficult as changes on the compiler tree will now require recompiling `compiletest` each time. This PR allows switching `ToolStd` to `ToolBootstrap` with a simple boolean option in `bootstrap.toml` to allow `compiletest` to use the stage 0 `libtest` instead. The changes under `src/ci` are clearly intended to make sure that `compiletest` doesn't break during future bootstrap beta bumps.
2025-04-08Rollup merge of #139321 - GuillaumeGomez:update-rinja, ↵Stuart Cook-0/+2
r=notriddle,lolbinarycat,yotamofek Update to new rinja version (askama) Askama maintenance was handed over to rinja maintainers so new `rinja` release is actually `askama`. More information [here](https://blog.guillaume-gomez.fr/articles/2025-03-19+Askama+and+Rinja+merge). r? ``@notriddle``
2025-04-08add missing word in doc comment (part 2)Tshepang Mbambo-1/+1
2025-04-08remove unusual indentationTshepang Mbambo-5/+5
This also fixes markdown rendering
2025-04-08add missing word in doc commentTshepang Mbambo-1/+1
2025-04-07implement `check` step for `compiletest` separatelyonur-ozkan-5/+66
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-07enable in-tree std on some runnersonur-ozkan-0/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-06Rollup merge of #139367 - GuillaumeGomez:proc-macro-values, r=UrgauGuillaume Gomez-1/+1
Add `*_value` methods to proc_macro lib This is the (re-)implementation of https://github.com/rust-lang/libs-team/issues/459. It allows to get the actual value (unescaped) of the different string literals. It was originally done in https://github.com/rust-lang/rust/pull/136355 but it broke the artifacts build so we decided to move the crate to crates.io to go around this limitation. Part of https://github.com/rust-lang/rust/issues/136652. Considering this is a copy-paste of the originally approved PR, no need to go through the whole process again. \o/ r? `@Urgau`
2025-04-06Rollup merge of #139347 - jieyouxu:rust_test_helpers, r=onur-ozkanStuart Cook-10/+9
Only build `rust_test_helpers` for `{incremental,ui}` test suites Only build `rust_test_helpers` for `{incremental,ui}` test suites. Context: Trying to see what test suites actually need `rust_test_helpers`, because this was causing unnecessary local failures when trying to run `./x test tests/run-make --target=wasm32-unknown-unknown` when `run-make` tests don't need `rust_test_helpers` at all. r? `@ghost` try-job: armhf-gnu try-job: test-various try-job: x86_64-apple-1 try-job: aarch64-apple try-job: x86_64-msvc-1 try-job: i686-msvc-1 try-job: x86_64-mingw-1 try-job: i686-mingw-1
2025-04-06Update proc-macro deps listGuillaume Gomez-0/+2
2025-04-05Update the minimum external LLVM to 19Josh Stone-4/+2
2025-04-05add change-entryonur-ozkan-0/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-05utilize `compiletest_use_stage0_libtest` optiononur-ozkan-1/+4
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-05create new option `build.compiletest-use-stage0-libtest`onur-ozkan-0/+6
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-04-05Switch `time` to `jiff` for time formatting in ICE dumpsclubby789-2/+0
2025-04-05Rollup merge of #139092 - thaliaarchi:move-fd-pal, r=joboetMatthias Krüger-2/+2
Move `fd` into `std::sys` Move platform definitions of `fd` into `std::sys`, as part of https://github.com/rust-lang/rust/issues/117276. Unlike other modules directly under `std::sys`, this is only available on some platforms and I have not provided a fallback abstraction for unsupported platforms. That is similar to how `std::os::fd` is gated to only supported platforms. Also, fix the `unsafe_op_in_unsafe_fn` lint, which was allowed for the Unix fd impl. Since macro expansions from `std::sys::pal::unix::weak` trigger this lint, fix it there too. cc `@joboet,` `@ChrisDenton` try-job: x86_64-gnu-aux
2025-04-04Move fd into sysThalia Archibald-2/+2
2025-04-04bootstrap: Only add `rustc_randomized_layouts` if the crate has itGuillaume Gomez-1/+1
2025-04-04Rollup merge of #139378 - Kobzol:bootstrap-use-lld-fix, r=petrochenkovMatthias Krüger-2/+2
Use target-agnostic LLD flags in bootstrap for `use-lld` [Before](https://github.com/rust-lang/rust/pull/135001), I hardcoded LLD flags that pretty much only worked on GNU. The right way is to use `-Zlinker-features` instead though. I *think* that this should also make this work on Windows mingw, and thus `@petrochenkov's` workaround is no longer necessary. Fixes: https://github.com/rust-lang/rust/issues/139372 Closes: https://github.com/rust-lang/rust/pull/139375 r? `@lqd`
2025-04-04Use target-agnostic LLD flags in bootstrap for use-lldJakub Beránek-2/+2
2025-04-04bootstrap: only build `rust_test_helpers` for `{incremental,ui}` suitesJieyou Xu-10/+9
2025-04-02Demote i686-pc-windows-gnu to Tier 2Noratrieb-4/+0
In accordance with RFC 3771. I also added a stub doc page for the target and renamed the windows-gnullvm page for consistency.
2025-04-02Rollup merge of #139214 - bjorn3:edition_2024_rustfmt, r=compiler-errorsStuart Cook-1/+1
Tell rustfmt to use the 2024 edition in ./x.py fmt Most crates in this repo have been moved to the 2024 edition already. This also allows removing a rustfmt exclusion for a cg_clif test.
2025-04-02Rollup merge of #139060 - ↵Stuart Cook-1/+26
Shourya742:2025-03-28-replace-commit-with-actual-value, r=onur-ozkan replace commit placeholder in vendor status with actual commit closes: #120499 try-job: dist-x86_64-illumos
2025-04-01Use the 2024 edition in ./x.py fmtbjorn3-1/+1
2025-04-01replace commit placeholder in vendor status with actual commitbit-aloo-1/+26
2025-03-30Rollup merge of #139044 - thaliaarchi:bootstrap-change-id-clone, r=onur-ozkanJacob Pratt-15/+11
bootstrap: Avoid cloning `change-id` list Inspired by [recent discussion](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Collecting.20some.20Real.20Configs.20for.20testing/near/507845657) on the bootstrap `change-id` field, I took a look at the code and found this little optimization. It does not change behavior.
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-28bootstrap: Avoid cloning change-id listThalia Archibald-15/+11
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.