Commit graph

465 commits

Author SHA1 Message Date
bors
72716b134a Auto merge of #144305 - ChrisDenton:win-free-disk-space, r=marcoieni
Free disk space on Windows 2025 runners

I've managed to reduce the time deletion takes by:

 - Using powershell, which is generally faster for filesystem operations than msys2
 - Performing deletions concurrently then waiting for them all to complete

It still takes 2-10 mins but that's not too bad.
2025-07-30 06:00:09 +00:00
Chris Denton
43018d3722
Free disk space on Windows 2025 runners 2025-07-30 04:10:28 +00:00
Stuart Cook
3a3db990f6
Rollup merge of #144367 - shepmaster:reduce-x86-macos-runner-usage, r=Mark-Simulacrum
Move dist-apple-various from x86_64 to aarch64

`macos-13` is going away soonish.
2025-07-29 16:16:42 +10:00
Jake Goulding
0b88bea0d5 Move dist-apple-various from x86_64 to aarch64
`macos-13` is going away soonish.
2025-07-23 11:35:50 -04:00
Jieyou Xu
523594d7ae
Update jobs.yml docs to reflect subset-modulo-carve-outs relationship 2025-07-21 18:06:07 +08:00
Chris Denton
58a05caa45
Rename optional-mingw-check to optional-pr-check 2025-07-18 18:33:23 +00:00
MarcoIeni
a886852e23
ci: use windows 22 for all free runners 2025-07-17 14:54:14 +02:00
Nikita Popov
4b421d44e2 Fix handling of SCRIPT_ARG in docker images
Instead of making this a build parameter, pass the SCRIPT as an
environment variable.

To this purpose, normalize on always referring to a script in
`/scripts`.

For i686-gnu-nopt-2 I had to create a separate script, because
Docker seems to be really terrible at command line argument
parsing, so it's not possible to pass an environment variable that
contains whitespace.
2025-07-15 16:23:15 +02:00
Trevor Gross
6debe03634
Rollup merge of #140136 - dpaoliello:arm64winci, r=Kobzol
Add an aarch64-msvc build running on ARM64 Windows

Resurrecting rust-lang/rust#126341

Per <https://github.com/rust-lang/rfcs/pull/3817> we intend to promote `aarch64-pc-windows-msvc` to Tier 1. As part of that work, we are adding a pre-merge CI job to validate that changes do not break this target.

Additionally, for consistency, the `dist-aarch64-msvc` job will also be run on Arm64 Windows runners.

r? ``@Kobzol``

try-job: `*aarch64-msvc*`
2025-07-10 20:20:37 -04:00
bors
d6120810e5 Auto merge of #143294 - ChrisDenton:rename-mingw, r=Kobzol
Rename `mingw-*` CI jobs to `pr-*`

The name `mingw` confuses people because these CI jobs now do much more than just cross-compile to mingw.

This is basically a find/replace. I chose the name `pr-` because it's job is to do general PR checks,
2025-07-03 07:23:17 +00:00
Chris Denton
6671d9b92a
Rename mingw-check-tidy to tidy 2025-07-02 08:48:20 +00:00
Chris Denton
62949cd2d6
Rename mingw-* CI jobs to pr-* 2025-07-01 20:25:56 +00:00
MarcoIeni
311a99cac4
ci: support optional jobs 2025-07-01 11:25:10 +02:00
bors
2fcf1776b9 Auto merge of #142245 - marcoieni:split-gnu-tools, r=Kobzol
ci: split x86_64-gnu-tools job

try-job: x86_64-gnu-tools
try-job: x86_64-gnu-miri
try-job: aarch64-gnu
2025-06-19 10:39:00 +00:00
Mateusz Mikuła
d577b39c5a {aarch64,x86_64}-pc-windows-gnullvm: build host tools 2025-06-18 17:07:19 +02:00
Jakub Beránek
743c2a4c71
Fix -nopt CI jobs
They were using `--config` instead of `--set`, which overrides too much stuff.
2025-06-16 10:28:55 +02:00
Daniel Paoliello
295378729b DRAFT: Add an aarch64-msvc build running on ARM64 Windows 2025-06-13 15:27:35 -07:00
Jakub Beránek
607a567916
Use a faster runner for the x64 dist-alt job 2025-06-10 12:17:05 +02:00
MarcoIeni
f30e9c943c
ci: split x86_64-gnu-tools job 2025-06-10 10:30:06 +02:00
Jakub Beránek
cb9980133c
Do not checkout GCC submodule for the tidy job 2025-06-09 08:17:56 +02:00
Jubilee
e91f985717
Rollup merge of #142210 - Kobzol:tidy-auto-builds, r=Mark-Simulacrum
Run `mingw-check-tidy` on auto builds

This has two advantages:
- It moves `auto` builds closer to being a superset of PR CI builds
- It allows us to reuse the Docker cache for the job in PR CI, thus speeding up the job in PR CI considerably

Discussed [here](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/PR.20ci.20seems.20much.20to.20slow).

r? ``@Mark-Simulacrum``
2025-06-08 17:17:58 -07:00
Jakub Beránek
e82630c452 Run mingw-check-tidy on auto builds
Signed-off-by: Jakub Beránek <berykubik@gmail.com>
2025-06-08 20:49:08 +02:00
Jakub Beránek
b189d29b92 Do not free disk space in the mingw-check-tidy job
It's not needed an it slows down the job considerably.

Signed-off-by: Jakub Beránek <berykubik@gmail.com>
2025-06-08 19:44:33 +02:00
Matthias Krüger
2c5a5fecd8
Rollup merge of #141777 - Kobzol:dist-linux-alt-no-pgo-bolt, r=marcoieni
Do not run PGO/BOLT in x64 Linux alt builds

Should unblock https://github.com/rust-lang/rust/pull/131077 and also reduce our CI costs. It seems to run ~1.5h on the x64 larger runner (free runner runs out of disk space, sadly).

Discussed [here](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/Utility.20of.20the.20.60dist-x86_64-linux-alt.60.20job/with/521324477).

r? ``@marcoieni``

try-job: `dist-x86_64-linux*`
2025-06-05 12:21:30 +02:00
Matthias Krüger
8ae7ca0a51
Rollup merge of #138699 - psumbera:solaris-ci-build3, r=marcoieni
build dist for x86_64-pc-solaris and sparcv9-sun-solaris

try-job: dist-sparcv9-solaris
try-job: dist-x86_64-solaris
try-job: dist-various-2
try-job: dist-x86_64-illumos
2025-06-04 07:54:32 +02:00
Matthias Krüger
5d32b5cad1
Rollup merge of #141861 - jieyouxu:windows-server-2025-20250527, r=Kobzol
Switch `x86_64-msvc-{1,2}` back to Windows Server 2025 images

New Windows Server 2025 images have been released (**20250527.1.0**). New images appear to not exhibit the lack-of-disk-space problem as tracked by rust-lang/rust#141022, and the new runner image's storage capacity appears to be configured correctly.

Windows Server 2025 image version **20250527.1.0** release notes: <https://github.com/actions/runner-images/releases/tag/win25%2F20250527.1>.

Resolves rust-lang/rust#141022.
2025-06-03 15:00:33 +02:00
Jakub Beránek
8f22a507c1
Use 4-core large disk runner for the alt job 2025-06-03 10:23:14 +02:00
Jakub Beránek
2cb5b0deb9
Rollup merge of #141767 - marcoieni:free-pr-job, r=Kobzol
ci: use free runner for aarch64-gnu-llvm-19-1 PR job
2025-06-02 15:19:17 +02:00
bors
52882f6522 Auto merge of #119899 - onur-ozkan:redesign-stage0-std, r=albertlarsan68,jieyouxu,mark-simulacrum,kobzol,jyn514,Noratrieb,WaffleLapkin,RalfJung,bjorn3
redesign stage 0 std

### Summary

**Blog post: https://blog.rust-lang.org/inside-rust/2025/05/29/redesigning-the-initial-bootstrap-sequence/**

This PR changes how bootstrap builds the stage 1 compiler by switching to precompiled stage 0 standard library instead of building the in-tree one. The goal was to update bootstrap to use the beta standard library at stage 0 rather than compiling it from source (see the motivation at https://github.com/rust-lang/compiler-team/issues/619).

Previously, to build a stage 1 compiler bootstrap followed this path:

```
download stage0 compiler -> build in-tree std -> compile stage1 compiler with in-tree std
```

With this PR, the new path is:

```
download stage0 compiler -> compile stage1 compiler with precompiled stage0 std
```

This also means that `cfg(bootstrap)`/`cfg(not(bootstrap))` is no longer needed for library development.

### Building "library"

Since stage0 `std` is no longer in-tree `x build/test/check library --stage 0` is now no-op. The minimum supported stage to build `std` is now 1. For the same reason, default stage values in the library profile is no longer 0.

Because building the in-tree library now requires a stage1 compiler, I highly recommend library developers to enable `download-rustc` to speed up compilation time.

<hr>

**Blog post: https://blog.rust-lang.org/inside-rust/2025/05/29/redesigning-the-initial-bootstrap-sequence/**

If you encounter a bug or unexpected results please open a topic in the [#t-infra/bootstrap](https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap) Zulip channel or create a [bootstrap issue](https://github.com/rust-lang/rust/issues/new?template=bootstrap.md).

(Review thread: https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Review.20thread.3A.20stage.200.20redesign.20PR/with/508271433)

~~Blocked on https://github.com/rust-lang/rust/pull/122709~~

try-job: dist-x86_64-linux
try-job: `x86_64-msvc*`
try-job: `x86_64-apple-*`
try-job: `aarch64-apple`
try-job: x86_64-gnu
try-job: `x86_64-gnu-llvm*`
2025-06-02 07:49:18 +00:00
Jieyou Xu
861ee47551
ci: switch x86_64-msvc-{1,2} back to Windows Server 2025 images
New Windows Server 2025 images have been released (20250527).
2025-06-01 22:47:36 +08:00
Jacob Pratt
c4ba6b00cc
Rollup merge of #141277 - RalfJung:miri-ci, r=oli-obk
Miri CI: test aarch64-apple-darwin in PRs instead of the x86_64 target

The aarch64 target is more important, and also this ensures we cover all main architectures (x86_64, i686, aarch64) in PR CI.
2025-06-01 00:35:51 +02:00
Jakub Beránek
033ea63639 Do not run PGO/BOLT in x64 Linux alt builds
Signed-off-by: Jakub Beránek <berykubik@gmail.com>
2025-05-30 20:35:27 +02:00
onur-ozkan
2b780cd517 split mingw-check into two
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-30 21:04:05 +03:00
onur-ozkan
d28cb1ceac use stage 1 for std on CI
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-30 21:04:02 +03:00
MarcoIeni
7ad2c36e6f
ci: use free runner for aarch64-gnu-llvm-19-1 PR job 2025-05-30 15:08:59 +02:00
Matthias Krüger
4fce906481
Rollup merge of #141749 - Noratrieb:RUSTC_ACTUALLY_DO_NOT_RETRY_LINKER_ON_SEGFAULT, r=petrochenkov
Remove RUSTC_RETRY_LINKER_ON_SEGFAULT hack

It looks like this was added in rust-lang/rust#40422 6 years ago because of issues with the MacOS linker. MacOS got a new linker in the meantime, so that should probably be resolved now. Hopefully.

r? petrochenkov
2025-05-30 13:39:55 +02:00
Petr Sumbera
0f1579b4bb build dist for x86_64-pc-solaris and sparcv9-sun-solaris 2025-05-30 09:18:31 +00:00
Noratrieb
f1778074fb Remove RUSTC_RETRY_LINKER_ON_SEGFAULT hack
It looks like this was added 6 years ago because of issues with the
MacOS linker. MacOS got a new linker in the meantime, so that should
probably be resolved now. Hopefully.
2025-05-29 23:30:29 +02:00
Jacob Pratt
ee3e807f90
Rollup merge of #141656 - ehuss:cargo-aarch64-macos, r=marcoieni,jieyouxu
CI: Add cargo tests to aarch64-apple-darwin

This adds running of cargo's tests to the aarch64-apple-darwin job. The reason for this is that tier-1 targets are ostensibly supposed to run tests for host tools, but we are not doing that here. We do have fairly good coverage in Cargo's CI, but we don't cover the beta or stable branches here. I think it would be good to have a fallback here.

I think this should only add about 7 minutes of CI time, but I have not measured it. The current job is about 1.5 hours.

In summary of the tier-1 targets:

| Target | rust-lang/cargo | rust-lang/rust |
|--------|-----------------|----------------|
| aarch64-apple-darwin | stable/nightly |  (this PR) |
| aarch64-unknown-linux-gnu | stable/nightly | ✓ |
| x86_64-apple-darwin | nightly |  |
| x86_64-pc-windows-gnu | nightly |  |
| x86_64-pc-windows-msvc | stable | ✓ |
| x86_64-unknown-linux-gnu | stable/beta/nightly | ✓ |
| i686-pc-windows-msvc |  |  |
| i686-unknown-linux-gnu |  |  |

try-job: aarch64-apple
2025-05-29 04:50:48 +02:00
bors
40311c4dcf Auto merge of #141576 - marcoieni:pr-free-runners-aarch, r=Kobzol
ci: move tests from x86_64-gnu-llvm-19 job to aarch64
2025-05-28 14:20:52 +00:00
bors
77101febcc Auto merge of #141501 - marcoieni:dist-x86_64-linux-codebuild-again, r=Kobzol
ci: move dist-x86_64-linux job to codebuild
2025-05-28 08:58:49 +00:00
Eric Huss
d562c46be0 CI: Add cargo tests to aarch64-apple-darwin
This adds running of cargo's tests to the aarch64-apple-darwin job. The
reason for this is that tier-1 targets are ostensibly supposed to run
tests for host tools, but we are not doing that here. We do have fairly
good coverage in Cargo's CI, but we don't have much coverage of beta or
stable. I think it would be good to have a fallback here.
2025-05-27 10:05:50 -07:00
MarcoIeni
1b7a927d84
ci: move tests from x86_64-gnu-llvm-19 job to aarch64 2025-05-26 22:27:20 +02:00
MarcoIeni
6ec41a7950
ci: fix llvm test coverage 2025-05-26 16:52:24 +02:00
MarcoIeni
1e7c4377de
ci: move dist-x86_64-linux job to codebuild 2025-05-26 15:37:45 +02:00
MarcoIeni
ec5e841957
ci: move PR job x86_64-gnu-tools to codebuild 2025-05-24 15:12:14 +02:00
bors
2eef47813f Auto merge of #141388 - Kobzol:x64-github-runner, r=marcoieni
Move `dist-x86_64-linux` CI job to GitHub temporarily

To make it easier to migrate off the `rust-lang-ci/rust` repository.

r? `@marcoieni`
2025-05-22 18:05:06 +00:00
Jakub Beránek
7d32303574
Move dist-x86_64-linux CI job to GitHub temporarily
To make it easier to migrate off the `rust-lang-ci/rust` repository.
2025-05-22 12:09:37 +02:00
MarcoIeni
27677ef143
ci: convert distcheck to free runner 2025-05-22 09:53:35 +02:00
Matthias Krüger
c5920278d3
Rollup merge of #141078 - marcoieni:split-dist-arm-linux, r=Kobzol
ci: split dist-arm-linux job

try-job: `dist-arm-linux-*`
2025-05-21 08:05:18 +02:00