about summary refs log tree commit diff
path: root/src/ci/docker
AgeCommit message (Collapse)AuthorLines
2025-10-03Auto merge of #145898 - lolbinarycat:rustdoc-search-trait-parent, ↵bors-1/+1
r=GuillaumeGomez,notriddle If a trait item appears in rustdoc search, hide the corrosponding impl items fixes rust-lang/rust#138251 cc `@notriddle`
2025-10-02rustdoc: use same stage for all pr check docsMichael Howell-1/+1
2025-09-30Remove usage of `compiletest-use-stage0-libtest` from CIJakub Beránek-2/+0
2025-09-26Rename `rust.use-lld` to `rust.bootstrap-override-lld`Jakub Beránek-2/+2
2025-09-24Auto merge of #146338 - CrooseGit:dev/reucru01/AArch64-enable-GCS, ↵bors-3/+3
r=Urgau,davidtwco Extends AArch64 branch protection support to include GCS Extends existing support for AArch64 branch protection to include support for [Guarded Control Stacks](https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-2022#guarded-control-stack-gcs:~:text=Extraction%20or%20tracking.-,Guarded%20Control%20Stack%20(GCS),-With%20the%202022).
2025-09-23Changes some aarch64 CIs g++ install & ubuntu ver.Reuben Cruise-3/+3
GCS support was added to GCC in version 15, thus the rmake test for this patch requires GCC15 Similarly, the ubuntu version is updated so the newer clang version is available, and/or GCC15 is the default.
2025-09-21Rollup merge of #146606 - Enselic:test-test-args, r=Mark-SimulacrumMatthias Krüger-0/+7
ci: x86_64-gnu-tools: Add `--test-args` regression test See https://github.com/rust-lang/rust/pull/146601#issuecomment-3293179561 r? ``@Mark-Simulacrum``
2025-09-16Update the minimum external LLVM to 20Josh Stone-74/+8
2025-09-16ci: x86_64-gnu-tools: Add `--test-args` regression testMartin Nordholts-0/+7
2025-09-13Auto merge of #146394 - Enselic:debuginfo-level-tests-2, r=jieyouxubors-1/+1
ci: Increase `rust.debuginfo-level-tests` to `2` in `x86_64-gnu-debug` job Simply to increase the scope of the testing. Part of https://github.com/rust-lang/rust/issues/61117. cc rust-lang/rust#145967 and rust-lang/rust#146025 which prepared for this. And rust-lang/rust#144499 that set to level to `1` try-job: x86_64-gnu-debug
2025-09-12ci: Increase `rust.debuginfo-level-tests` to `2` in `x86_64-gnu-debug` jobMartin Nordholts-1/+1
Simply to increase the scope of the testing. Force debuginfo=0 for a handful of tests so that we can have CI prevent regressing on more tests.
2025-09-09CI: rfl: move job forward to Linux v6.17-rc5 to remove temporary commitsMiguel Ojeda-3/+1
v6.17-rc5 contains the equivalent of the two commits we had here, thus move the Rust for Linux job forward to that so that we don't need the temporary commits anymore. Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2025-09-06Auto merge of #146233 - jieyouxu:run-make-fission, r=Kobzolbors-7/+9
Split `run-make` into two {`run-make`,`run-make-cargo`} test suites ## Summary Split `tests/run-make` into two test suites, to make it faster and more convenient for contributors to run run-make tests that do not need in-tree `cargo`. | New test suites | Explanation | | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `tests/run-make` | The "fast path" test suite intended for run-make tests that do not need in-tree `cargo`. These tests may not use `cargo`. | | `tests/run-make-cargo` | The "slow path" test suite that requires checking out `cargo` submodule and building in-tree `cargo`, and thus will have access to in-tree `cargo`. In practice, these constitute a very small portion of the original `run-make` tests. | This PR carries out [MCP 847: Split run-make test suite into slower-building test suite with suitably-staged cargo and faster-building test suite without cargo](https://github.com/rust-lang/compiler-team/issues/847). Fixes rust-lang/rust#135573 (for the tests that do not need in-tree `cargo`). Fixes rust-lang/rust#134109. ## Remarks - I considered if we want to split by in-tree tools previously. However, as discussed rust-lang/rust#134109, in practice `rustdoc` is not very slow to build, but `cargo` takes a good few minutes. So, the partition boundary was determined to be along in-tree `cargo` availability. - The `run-make` tests previously that wanted to use `cargo` cannot just use the bootstrap `cargo`, otherwise they would run into situations where bootstrap `cargo` can significantly diverge from in-tree `cargo` (see https://github.com/rust-lang/rust/pull/130642). --- try-job: aarch64-msvc-1 try-job: test-various try-job: x86_64-gnu-debug try-job: aarch64-gnu-debug try-job: aarch64-apple try-job: dist-various-1
2025-09-06ci: check `src/tools/bump-stage0` in `pr-check-2`Jieyou Xu-0/+1
To catch obvious build failures of the `src/tools/bump-stage0` early, before we find out it can't even build when we really need it to work.
2025-09-05ci: update jobs to also run `tests/run-make-cargo`Jieyou Xu-7/+9
For the ones that explicitly picks which test suite to run.
2025-09-03CI: rfl: move job forward to Linux v6.17-rc3 plus 2 commitsMiguel Ojeda-1/+2
This upgrades the Rust CI from v6.16-rc1 plus a temporary commit for the >= 1.91 target spec [1] to v6.17-rc3 with two commits pending to be merged upstream -- one for the same target spec format change [1] and another for the `file_as_c_str` change [2]. Link: https://github.com/rust-lang/rust/pull/144443 [1] Link: https://github.com/rust-lang/rust/pull/145928 [2] Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2025-09-01Auto merge of #145663 - Kobzol:bootstrap-test, r=jieyouxubors-1/+1
Enforce in bootstrap that test must have stage at least 1 (except for compiletest) This PR cleans up a bunch of test steps and adds metadata to them. I didn't yet touch the most complicated step (`CompileTest`), I'm leaving that for another PR. Testing anything on stage 0 is only possible for compiletest and with `build.allow-compiletest-stage0`. Testing anything else on stage 0 will either produce a nice error or crash with a stage being subtracted below zero. r? `@jieyouxu` try-job: dist-x86_64-linux try-job: aarch64-gnu try-job: arm-android try-job: `x86_64-gnu-llvm-20*` try-job: `x86_64-msvc-*` try-job: aarch64-apple try-job: test-various
2025-08-30Do not run tests on CI in stage 0Jakub Beránek-1/+1
2025-08-27CI: rfl: support Rust >= 1.91.0 target specMiguel Ojeda-1/+2
To unblock the Rust CI in PR [1], use a temporary commit from Rust for Linux that supports the future target spec format. Link: https://github.com/rust-lang/rust/pull/144443 [1] Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2025-08-26Rollup merge of #145790 - mati865:gnullvm-improve-dist, r=KobzolSamuel Tardieu-30/+4
Improve dist for gnullvm hosts LLVM tools cross-compilation has been fixed by rust-lang/rust#145763 and LLVM downloading from CI no longer causes build error, so let's enable them both.
2025-08-26Rollup merge of #144499 - Enselic:ci-debuginfo-level-tests, r=davidtwcoSamuel Tardieu-0/+5
ci: Begin running ui tests with `rust.debuginfo-level-tests=1` To reduce risk of regressing on generating debuginfo e.g. in the form of ICE:s. This will also ensure that future ui tests work with different debuginfo levels. See https://github.com/rust-lang/rust/issues/61117. When I looked at run time for different CI jobs, **x86_64-gnu-debug** was far from the bottleneck, so it should be fine to make it perform more work. A handful of tests are failing so we need to force debuginfo=0 on those for now. We'll start small with debuginfo=1. We'll step up to debuginfo=2 once most (all?) tests can handle debuginfo=1. There are more failures with debuginfo=2 than with debuginfo=1.
2025-08-25Do not forward CI configure arguments to `distcheck` buildsJakub Beránek-0/+3
2025-08-25Make `x test distcheck` more self-containedJakub Beránek-6/+1
2025-08-23Enable LLVM download from CI for gnullvm distMateusz Mikuła-20/+2
It no longer fails with an error locally.
2025-08-23Enable LLVM tools for gnullvm distMateusz Mikuła-12/+4
This issue has been fixed by <https://github.com/rust-lang/rust/pull/145763>.
2025-08-22Rollup merge of #137457 - JayAndJef:issue-132802-fix, r=KobzolJacob Pratt-3/+26
Fix host code appearing in Wasm binaries This is a direct fix for issue [132802](https://github.com/rust-lang/rust/issues/132802). Followed the outline as follows: > * give a hard error in bootstrap when using gcc to compile for wasm > * change our CI to use clang instead of gcc > * add a test that compiling a sample program for wasm32-unknown doesn't give any linker warnings The `test-various` ci job was also changed. try-job: test-various try-job: dist-various-1 try-job: dist-various-2 try-job: x86_64-msvc-1
2025-08-22ci: Begin running ui tests with `rust.debuginfo-level-tests=1`Martin Nordholts-0/+5
To reduce risk of regressing on generating debuginfo e.g. in the form of ICE:s. This will also ensure that future ui tests support different debuginfo levels. When I looked at run time for different CI jobs, **x86_64-gnu-debug** was far from the bottle neck, so it should be fine to make it perform more work.
2025-08-19Rollup merge of #145025 - lolbinarycat:ci-tidy-spellcheck, r=Kobzol许杰友 Jieyou Xu (Joe)-1/+1
run spellcheck as a tidy extra check in ci This is probably how it should've been done from the start. r? ``@Kobzol``
2025-08-16run spellcheck as a tidy extra check in cibinarycat-1/+1
2025-08-15rustdoc-search: search backend with partitioned suffix treeMichael Howell-1/+1
2025-08-14Auto merge of #145131 - Kobzol:bootstrap-clippy, r=jieyouxubors-1/+1
Enforce in bootstrap that clippy must have stage at least 1 This mostly piggybacks on the previous `x check` [rework](https://github.com/rust-lang/rust/pull/143048). The new "rules" follow the new staging logic. So `x clippy <foo>` lints `foo` using stage0 Clippy. `x clippy --stage 2 <foo>` lints `foo` using stage1 Clippy (which is built from in-tree sources). I had to fix some latent issues with `prepare_compiler_for_check` along the way. Checking `rustc_private` tools should now check less compiler crates (or rather not check compiler examples/tests/etc.), potentially speeding it up slightly. I also had to make some manual adjustments to `x clippy ci` so that it doesn't do needless work. r? `@jieyouxu`
2025-08-13Auto merge of #145298 - nikic:llvm21-rc3, r=cuviperbors-1/+3
Update to LLVM 21.1.0 rc3
2025-08-13Use ci-mirrors for binutils in freebsd-toolchain.shNikita Popov-1/+3
2025-08-13Lint code in CI using in-tree ClippyJakub Beránek-1/+1
2025-08-12Auto merge of #145295 - Kobzol:unify-stages, r=jieyouxubors-2/+2
Consolidate stage directories and group logs in bootstrap My post-stage-0-redesign bootstrap fixes aren't done yet, but I think that enough steps have been migrated to the new system that it makes sense to actually modify the directories on disk, and what gets printed when bootstrap runs, so that it actually corresponds to the new system. Before, the printed stages didn't always make sense. This PR: - Fixes the numbering of `stageN` directories in the build directory. It was not corresponding to the correct stages before; notice that I did not modify `bootstrap/README.md`, as it was essentially describing what happens after this PR (first commit). - Unifies all steps that output a build group to use the `Builder::msg` method. It's probably not the final stage, and some of the test steps might not be fully accurate yet, because I didn't fix test step numbering yet, but I think that it's a clear improvement from before, and now that everything uses the same method, we can easily make changes across the board, to ensure that it stays unified (second commit). r? `@jieyouxu` try-job: dist-x86_64-msvc try-job: dist-x86_64-linux
2025-08-12Replace `stage0-tools-bin` with `stage1-tools-bin`Jakub Beránek-2/+2
2025-08-11Document compiler and stdlib in stage1 in `pr-check-2` CI jobJakub Beránek-3/+3
2025-08-10Update `doc` CI steps stage 2Jakub Beránek-3/+3
As they were previously.
2025-08-10Fix staging for `doc compiler`Jakub Beránek-4/+4
2025-08-05Use runtimes build for host compiler-rt buildNikita Popov-1/+3
The project build for compiler-rt is deprecated. The runtimes build will use the just-built clang. As such, we also need to pass --gcc-toolchain to the runtimes build, so that it can find the GCC installation.
2025-08-01Update host toolchainNikita Popov-1/+1
Necessary to avoid a bolt-related crash.
2025-07-30Run `compiletest` self-tests against stage 1 rustcJieyou Xu-2/+2
And move `./x test compiletest --stage=1` to `pr-check-2`, where testing library artifacts already requires building the stage 1 compiler.
2025-07-29Update wasi-sdk to 27.0 in CIAlex Crichton-4/+4
This updates the wasi-sdk used in CI to build release binaries and run CI with. No major motivation beyond keeping things up-to-date and following the development of wasi-sdk.
2025-07-27Rollup merge of #144454 - folkertdev:uefi-tests, r=jieyouxuMatthias Krüger-214/+3
move uefi test to run-make Turn the `uefi` test into a more standard `run-make` test, and execute it using the `test-various` CI job like before. This is just a straightforward translation of the python code, but using `run-make` to supply the target (hence the 3 separate calls in the docker file). r? ```@jieyouxu``` cc ```@nicholasbishop``` try-job: test-various
2025-07-26move uefi test to run-makeFolkert de Vries-214/+3
2025-07-25Check `./x check bootstrap` in `pr-check-1`Jieyou Xu-0/+1
This check is relatively cheap, and is a quick way to root out breaking check flow of `bootstrap` itself.
2025-07-22Auto merge of #144249 - GuillaumeGomez:asm-tests, r=jieyouxubors-3/+3
Rename `tests/{assembly,codegen}` into `tests/{assembly,codegen}-llvm` and ignore these testsuites if configured backend doesn't match Follow-up of https://github.com/rust-lang/rust/pull/144125. This PR changes `compiletest` so that `asm` tests are only run if they match the current codegen backend. To better reflect it, I renamed the `tests/ui/asm` folder into `tests/ui/asm-llvm`. Like that, we can add new asm tests for other backends if we want without needing to add extra code to `compiletest`. Next step will be to use the new code annotations added in rust-lang/rust#144125 to ignore ui tests failing in cg_gcc until it's fixed on our side. cc `@antoyo` `@oli-obk` r? `@Kobzol`
2025-07-22Rename `tests/codegen` into `tests/codegen-llvm`Guillaume Gomez-1/+1
2025-07-22Rename `tests/assembly` into `tests/assembly-llvm`Guillaume Gomez-2/+2
2025-07-19tidy: use a lockfile for js tools instead of npxbinarycat-4/+0
this makes us less vulnerable to MITM and supply chain attacks. it also means that the CI scripts are no longer responsible for tracking the versions of these tools. it should also avoid the situation where local tsc and CI disagree on the presense of errors due to them being different versions.