Commit Graph

473 Commits

Author SHA1 Message Date
Guillaume Gomez 287e458dae Run rust tests with GCC backend 2025-10-13 15:20:48 +02:00
Jake Goulding 5df0be3988 Make macOS dist build configuration match where reasonable 2025-09-29 08:52:09 -04:00
Mads Marquart 9878be7787 Re-enable assertions on macOS 2025-09-27 18:06:00 +02:00
Josh Stone 580b4891aa Update the minimum external LLVM to 20 2025-09-16 11:49:20 -07:00
houpo-bob 5d41f7ccb8 Fix some minor issues in comments
Signed-off-by: houpo-bob <houpocun@outlook.com>
2025-08-24 16:58:22 +08:00
MarcoIeni e073f905fb ci: don't cleanup windows disk 2025-08-21 10:56:48 +02:00
Jake Goulding c574c91e57 Demote x86_64-apple-darwin to Tier 2 with host tools
Switch to only using aarch64 runners (implying we are now
cross-compiling) and stop running tests. In the future, we could
enable (some?) tests via Rosetta 2.
2025-08-15 12:00:13 -04:00
Jakub Beránek 72b606db89 Replace stage0-tools-bin with stage1-tools-bin 2025-08-12 18:39:09 +02:00
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