Commit graph

355 commits

Author SHA1 Message Date
Josh Stone
8eebbbaac2 ci.py: check the return code in run-local
If the run fails, it should report that and return a non-zero exit
status. The simplest way to do that is with `run(..., check=True)`,
which raises a `CalledProcessError`.
2025-01-24 13:53:02 -08:00
Matthias Krüger
a6157d3038
Rollup merge of #135779 - marcoieni:free-disk-arm-runner, r=Kobzol
CI: free disk on linux arm runner

try-job: aarch64-gnu
2025-01-23 09:49:21 +01:00
MarcoIeni
a175e8d903
CI: free disk on linux arm runner 2025-01-20 17:38:17 +01:00
MarcoIeni
242b0e32b6
CI: split x86_64-msvc job using windows 2025 2025-01-19 12:30:12 +01:00
Matthias Krüger
8825073dcc
Rollup merge of #135616 - marcoieni:split-i686-msvc-job, r=Kobzol
CI: split i686-msvc job to two free runners

try-job: i686-msvc-1
try-job: i686-msvc-2
2025-01-19 01:18:53 +01:00
MarcoIeni
0e80d78709
ci: switch to linux free arm runners 2025-01-17 16:38:10 +01:00
MarcoIeni
de89ffc341
CI: split i686-msvc job to two free runners 2025-01-17 09:22:10 +01:00
Kajetan Puchalski
dce8c06de3 ci: Move dist-aarch64-linux to an aarch64 runner
Move the dist-aarch64-linux CI job to an aarch64 runner instead of
cross-compiling it from an x86 one. This will make it possible to
perform optimisations such as LTO, PGO and BOLT later on.
2025-01-10 14:10:41 +00:00
Jakub Beránek
c8b29d6f6f
CI: fix name of jobs
There is a difference between the `image` (the Dockerfile), the `name` of the job (which determines also its properties) and the `full_name`, which includes the `auto/try/pr` prefix.
2025-01-09 21:40:29 +01:00
Jakub Beránek
5a95dda44a Apply review comments 2025-01-07 19:10:03 +01:00
Jakub Beránek
0fc2f14c0c Make it possible to select PR vs auto jobs 2025-01-07 18:15:13 +01:00
Jakub Beránek
e62d1e46bb Rename image property of CI jobs to name
The `image` part didn't really make sense, especially since we started splitting CI jobs.
2025-01-07 18:15:13 +01:00
Jakub Beránek
0cc11f8c48 Add a command to run a given Linux CI job locally 2025-01-07 18:15:13 +01:00
Jakub Beránek
8ecd033654 Rename CI script from calculate-job-matrix to ci.py 2025-01-07 18:15:13 +01:00
Jakub Beránek
69a6c9c365
Revert "Auto merge of #133902 - Kobzol:ci-dist-arm-runner, r=MarcoIeni"
This reverts commit b597d2a099, reversing
changes made to ff7906bfe1.
2024-12-21 13:51:17 +01:00
Jakub Beránek
a5dce0e16d Revert "Auto merge of #133809 - mrkajetanp:ci-aarch64-dist, r=Kobzol"
This reverts commit 023521e682, reversing
changes made to c434b4b4b6.
2024-12-20 16:04:39 +01:00
bors
214587c89d Auto merge of #134433 - MarcoIeni:ubuntu-22-large-runners, r=Kobzol
ci: use ubuntu-22 for large runners
2024-12-20 01:37:43 +00:00
许杰友 Jieyou Xu (Joe)
aa90dbcf13
Rollup merge of #134427 - MarcoIeni:ci-remove-code-duplication, r=Kobzol
ci: remove duplicate task definition

try-job: x86_64-gnu-llvm-19-1
try-job: x86_64-gnu-llvm-19-2
try-job: x86_64-gnu-llvm-19-3
try-job: x86_64-gnu-llvm-18-1
try-job: x86_64-gnu-llvm-18-2
try-job: x86_64-gnu-llvm-18-3
try-job: i686-gnu-1
try-job: i686-gnu-2
try-job: i686-gnu-nopt-1
try-job: i686-gnu-nopt-2
2024-12-19 16:48:08 +08:00
Kajetan Puchalski
8857b84078
ci: Move dist-aarch64-linux to an aarch64 runner
Move the dist-aarch64-linux CI job to an aarch64 runner instead of
cross-compiling it from an x86 one. This will make it possible to
perform optimisations such as LTO, PGO and BOLT later on.
2024-12-18 10:45:13 +00:00
Matthias Krüger
ca5dfa74f1
Rollup merge of #133801 - Gelbpunkt:powerpc64le-unknown-linux-musl-tier-2, r=jieyouxu,Urgau,Kobzol
Promote powerpc64le-unknown-linux-musl to tier 2 with host tools

MCP: https://github.com/rust-lang/compiler-team/issues/803

I'm using crosstool-ng for building a toolchain because GCC 9 from `musl-toolchain.sh` has float ABI issues (?) and can't compile LLVM, and writing a crosstool-ng config for a target feels less hacky than yet another target specific shell script. I also defined a kernel version, since there wasn't one specified before. If a lower version is desired, just let me know. I also tried to match the rust configure args with the loongarch64 musl tier 2 target.

The resulting compiler works fine, built with `DEPLOY=1 ./src/ci/docker/run.sh dist-powerpc64le-linux` and tested on Alpine Linux in a VM and on a bare metal POWER8 machine:
```
qemu-ppc64le:/tmp/rust-nightly-powerpc64le-unknown-linux-musl$ ash install.sh
install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh
install: installing component 'rustc'
install: installing component 'rust-std-powerpc64le-unknown-linux-musl'
install: installing component 'cargo'
install: installing component 'rustfmt-preview'
install: installing component 'rls-preview'
install: installing component 'rust-analyzer-preview'
install: installing component 'llvm-tools-preview'
install: installing component 'clippy-preview'
install: installing component 'miri-preview'
install: installing component 'rust-analysis-powerpc64le-unknown-linux-musl'
install: installing component 'llvm-bitcode-linker-preview'
install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error

    rust installed.

qemu-ppc64le:~$ echo 'fn main() { println!("hello world"); }' > test.rs
qemu-ppc64le:~$ rustc test.rs
qemu-ppc64le:~$ ./test
hello world
qemu-ppc64le:~$ file test
test: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, OpenPOWER ELF V2 ABI, version 1 (SYSV), statically linked, BuildID[sha1]=596ee6abf9add487ebc54fb71c2076fb6faea013, with debug_info, not stripped
```

try-job: dist-powerpc64le-linux
2024-12-17 22:34:41 +01:00
MarcoIeni
5980dfe063
ci: remove duplicate task definition 2024-12-17 18:15:33 +01:00
MarcoIeni
ca2068ec43
ci: use ubuntu-22 for large runners 2024-12-17 18:00:02 +01:00
bors
52f4785f80 Auto merge of #134132 - MarcoIeni:linux-4c-to-ubuntu-22, r=Kobzol
CI: update linux 4c from ubuntu 20 to ubuntu 22
2024-12-17 01:49:31 +00:00
MarcoIeni
7ce2944ef9
test stage 1 in separate job 2024-12-12 12:59:30 +01:00
MarcoIeni
4f0e7816cd
split better 2024-12-11 10:29:59 +01:00
MarcoIeni
89ad1ace57
CI: update linux 4c from ubuntu 20 to ubuntu 22 2024-12-10 15:34:43 +01:00
MarcoIeni
577b5f387f
CI: use free runners for x86_64-gnu-llvm jobs 2024-12-10 13:14:44 +01:00
bors
b597d2a099 Auto merge of #133902 - Kobzol:ci-dist-arm-runner, r=MarcoIeni
CI: move `dist-arm-linux` to an ARM runner

First, I want to test whether we could actually move this to a free runner, vs moving to the 8-core ARM runner.

Fixes: https://github.com/rust-lang/infra-team/issues/181

r? `@MarcoIeni`

try-job: dist-arm-linux
2024-12-10 07:44:46 +00:00
Jens Reidel
286de9f740
Move dist-powerpc64le-linux to job-linux-4c-largedisk
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-09 17:05:27 +01:00
Jakub Beránek
9490297538 Rename the ARM runner YAML anchor
To make it more consistent with the rest of the anchors.
2024-12-06 15:31:07 +01:00
Jakub Beránek
a5855516f4 CI: move dist-arm-linux to an ARM runner 2024-12-06 15:31:07 +01:00
Guillaume Gomez
5a9c9ef541
Rollup merge of #133821 - Kobzol:replace-black-with-ruff, r=onur-ozkan
Replace black with ruff in `tidy`

`ruff` can both lint and format Python code (in fact, it should be a mostly drop-in replacement for `black` in terms of formatting), so it's not needed to use `black` anymore. This PR removes `black` and replaces it with `ruff`, to get rid of one Python dependency, and also to make Python formatting faster (although that's a small thing).

If we decide to merge this, we'll need to "reformat the world" - `ruff` is not perfectly compatible with `black`, and it also looks like `black` was actually ignoring some files before. I tried it locally (`./x test tidy --extra-checks=py:fmt --bless`) and it also reformatted some code in subtrees (e.g. `clippy` or `rustc_codegen_gcc`) - I'm not sure how to handle that.
2024-12-05 23:47:11 +01:00
Guillaume Gomez
7416c33780
Rollup merge of #133256 - MarcoIeni:use-linux-free-runners, r=Kobzol
CI: use free runners for i686-gnu jobs

try-job: i686-gnu-1
try-job: i686-gnu-2
try-job: i686-gnu-nopt-1
try-job: i686-gnu-nopt-2
2024-12-05 23:47:09 +01:00
Jakub Beránek
536516f949
Reformat Python code with ruff 2024-12-04 23:03:44 +01:00
MarcoIeni
b81391ec76
CI: use free runners for i686-gnu jobs 2024-12-03 08:17:33 +01:00
Rémy Rakic
70e0d5893f build rustc with 1 CGU on aarch64-apple-darwin 2024-12-02 11:48:39 +00:00
MarcoIeni
5b9a77a09d
CI: split x86_64-mingw job 2024-11-29 16:04:12 +01:00
Matthias Krüger
21f6ef577b
Rollup merge of #133248 - MarcoIeni:x86_64-msvc-ext-free, r=Kobzol
CI: split x86_64-msvc-ext job

try-job: x86_64-msvc-ext1
try-job: x86_64-msvc-ext3
2024-11-27 08:13:46 +01:00
Matthias Krüger
ee2d862212
Rollup merge of #132979 - onur-ozkan:skip-exact, r=jieyouxu,tgross35
use `--exact` on `--skip` to avoid unintended substring matches

Without the `--exact` flag, using `--skip tests/rustdoc` can unintentionally skip other tests that match as substrings such as `rustdoc-gui`, `rustdoc-js`, etc.

For debugging, run: `./x.py --stage 2 test rustdoc-ui --skip tests/rustdoc` and `./x.py --stage 2 test rustdoc-ui --skip tests/rustdoc -- --exact`

Resolves https://github.com/rust-lang/rust/issues/117721

try-job: x86_64-apple-1
2024-11-27 08:13:46 +01:00
MarcoIeni
e8796c452d
CI: split x86_64-msvc-ext job 2024-11-25 10:00:09 +01:00
Jacob Pratt
c364ff7058
Rollup merge of #133190 - MarcoIeni:dist-aarch64-msvc-free, r=Kobzol
CI: use free runner in dist-aarch64-msvc

try-job: dist-aarch64-msvc
2024-11-20 01:54:26 -05:00
MarcoIeni
0270580bc5
CI: use free runner in dist-aarch64-msvc 2024-11-18 22:09:13 +01:00
MarcoIeni
37ea2028be
ci: use free runner in dist-i686-msvc 2024-11-18 16:12:40 +01:00
onur-ozkan
13d59eca9a use --exact on --skip to avoid unintended substring matches
Without the `--exact` flag, using `--skip tests/rustdoc` can unintentionally skip other
tests that match as substrings such as `rustdoc-gui`, `rustdoc-js`, etc.

For debugging, run: `./x.py --stage 2 test rustdoc-ui --skip tests/rustdoc` and
`./x.py --stage 2 test rustdoc-ui --skip tests/rustdoc -- --exact`

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-13 08:13:06 +03:00
Matthias Krüger
0078e64439
Rollup merge of #132409 - MarcoIeni:ci-remove-linux-4c-large, r=Kobzol
CI: switch 7 linux jobs to free runners

try-job: x86_64-gnu-aux
try-job: x86_64-gnu-nopt
try-job: x86_64-gnu-tools
2024-11-05 20:10:49 +01:00
MarcoIeni
02b34154fd
CI: switch 7 linux jobs to free runners 2024-11-05 16:56:41 +01:00
MarcoIeni
d39270f775
CI: switch dist-x86_64-musl to free runner 2024-11-01 21:11:28 +01:00
Matthias Krüger
c9584b7a96
Rollup merge of #132396 - MarcoIeni:ci-use-free-runners-for-x86_64-gnu-tools-and-x86_64-rust-for-linux, r=Kobzol
CI: use free runners for x86_64-gnu-tools and x86_64-rust-for-linux

try-job: x86_64-gnu-tools
try-job: x86_64-rust-for-linux
2024-10-31 12:35:57 +01:00
MarcoIeni
3036f4f668
CI: use free runners for x86_64-gnu-tools and x86_64-rust-for-linux 2024-10-31 11:29:29 +01:00
MarcoIeni
183599fa99
CI: use free runners for 3 fast windows jobs 2024-10-31 10:38:42 +01:00