summary refs log tree commit diff
path: root/src/ci/github-actions
AgeCommit message (Collapse)AuthorLines
2024-12-21Revert "Auto merge of #133902 - Kobzol:ci-dist-arm-runner, r=MarcoIeni"Jakub Beránek-4/+4
This reverts commit b597d2a099a1b5b79acef05175a9ac847047f8a1, reversing changes made to ff7906bfe1ed264bf9c4d3abe1940e357b7e61dd.
2024-12-20Revert "Auto merge of #133809 - mrkajetanp:ci-aarch64-dist, r=Kobzol"Jakub Beránek-5/+5
This reverts commit 023521e6825edfa6df01e392520d7cb120eab158, reversing changes made to c434b4b4b6cd20560c5b32e80b2b22618a4da3dd.
2024-12-20Auto merge of #134433 - MarcoIeni:ubuntu-22-large-runners, r=Kobzolbors-3/+3
ci: use ubuntu-22 for large runners
2024-12-19Rollup merge of #134427 - MarcoIeni:ci-remove-code-duplication, r=Kobzol许杰友 Jieyou Xu (Joe)-27/+6
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-18ci: Move dist-aarch64-linux to an aarch64 runnerKajetan Puchalski-5/+5
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-17Rollup merge of #133801 - Gelbpunkt:powerpc64le-unknown-linux-musl-tier-2, ↵Matthias Krüger-1/+1
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-17ci: remove duplicate task definitionMarcoIeni-27/+6
2024-12-17ci: use ubuntu-22 for large runnersMarcoIeni-3/+3
2024-12-17Auto merge of #134132 - MarcoIeni:linux-4c-to-ubuntu-22, r=Kobzolbors-1/+1
CI: update linux 4c from ubuntu 20 to ubuntu 22
2024-12-12test stage 1 in separate jobMarcoIeni-4/+21
2024-12-11split betterMarcoIeni-5/+5
2024-12-10CI: update linux 4c from ubuntu 20 to ubuntu 22MarcoIeni-1/+1
2024-12-10CI: use free runners for x86_64-gnu-llvm jobsMarcoIeni-4/+30
2024-12-10Auto merge of #133902 - Kobzol:ci-dist-arm-runner, r=MarcoIenibors-4/+4
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-09Move dist-powerpc64le-linux to job-linux-4c-largediskJens Reidel-1/+1
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-12-06Rename the ARM runner YAML anchorJakub Beránek-4/+4
To make it more consistent with the rest of the anchors.
2024-12-06CI: move `dist-arm-linux` to an ARM runnerJakub Beránek-1/+1
2024-12-05Rollup merge of #133821 - Kobzol:replace-black-with-ruff, r=onur-ozkanGuillaume Gomez-4/+9
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-05Rollup merge of #133256 - MarcoIeni:use-linux-free-runners, r=KobzolGuillaume Gomez-4/+51
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-04Reformat Python code with `ruff`Jakub Beránek-4/+9
2024-12-03CI: use free runners for i686-gnu jobsMarcoIeni-4/+51
2024-12-02build `rustc` with 1 CGU on `aarch64-apple-darwin`Rémy Rakic-0/+1
2024-11-29CI: split x86_64-mingw jobMarcoIeni-3/+13
2024-11-27Rollup merge of #133248 - MarcoIeni:x86_64-msvc-ext-free, r=KobzolMatthias Krüger-6/+14
CI: split x86_64-msvc-ext job try-job: x86_64-msvc-ext1 try-job: x86_64-msvc-ext3
2024-11-27Rollup merge of #132979 - onur-ozkan:skip-exact, r=jieyouxu,tgross35Matthias Krüger-1/+1
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-25CI: split x86_64-msvc-ext jobMarcoIeni-6/+14
2024-11-20Rollup merge of #133190 - MarcoIeni:dist-aarch64-msvc-free, r=KobzolJacob Pratt-1/+1
CI: use free runner in dist-aarch64-msvc try-job: dist-aarch64-msvc
2024-11-18CI: use free runner in dist-aarch64-msvcMarcoIeni-1/+1
2024-11-18ci: use free runner in dist-i686-msvcMarcoIeni-1/+1
2024-11-13use `--exact` on `--skip` to avoid unintended substring matchesonur-ozkan-1/+1
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-05Rollup merge of #132409 - MarcoIeni:ci-remove-linux-4c-large, r=KobzolMatthias Krüger-7/+9
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-05CI: switch 7 linux jobs to free runnersMarcoIeni-7/+9
2024-11-01CI: switch dist-x86_64-musl to free runnerMarcoIeni-1/+1
2024-10-31Rollup merge of #132396 - ↵Matthias Krüger-2/+2
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-31CI: use free runners for x86_64-gnu-tools and x86_64-rust-for-linuxMarcoIeni-2/+2
2024-10-31CI: use free runners for 3 fast windows jobsMarcoIeni-3/+3
2024-10-25Auto merge of #131917 - jieyouxu:rmake-clang, r=Kobzolbors-1/+3
Run the full stage 2 `run-make` test suite in `x86_64-gnu-debug` Run the full `run-make` test suite in the `x86_64-gnu-debug` CI job. This is currently the *only* CI job where `//@ needs-force-clang-based-test` will be satisfied, so some `run-make` tests will literally never be run otherwise. Before this PR, the CI job only ran `run-make` tests which contains the substring `clang` in its test name, which is both (1) a footgun because it's very easy to forget and (2) it masks tests that would otherwise fail (even failing to compile) because the test is skipped if doesn't have a `clang` in its test name. With the environment of `x86_64-gnu-debug`, two `run-make` tests failed before this PR: 1. `tests/run-make/issue-84395-lto-embed-bitcode/rmake.rs`: this was broken for a long time because `objcopy` in llvm bin tools was renamed to `llvm-objcopy`. This test was converted into a rmake.rs test, rather straight forward. 2. `tests/run-make/cross-lang-lto-riscv-abi/rmake.rs`: this was broken for a long time and never worked. The old version inspected human-readable output of `llvm-readobj --file-header` looking for substring `EF_RISCV_FLOAT_ABI_DOUBLE`, but the human-readable output will only contain something like `Flags: 0x5, RVC, double-float ABI`, hence it will never match. This test was fixed by instead using the `object` crate to actually decode the ELF headers looking for the specific `e_flags` based on reading the RISCV ELF psABI docs. This PR is best reviewed commit-by-commit, two commits setup the support library for functionality and two commits are for each of the failing `run-make` tests. I had to bump the `x86_64-gnu-debug` job to be ran with a runner with larger disk space. Part of #132034. try-job: x86_64-gnu-debug
2024-10-24ci: add aarch64-gnu-debug jobDavid Wood-0/+3
Adds a new CI job which checks that the compiler builds with `--enable-debug` and tests that `needs-force-clang-based-tests` pass (where cross-language LTO is tested).
2024-10-22ci: switch `x86_64-gnu-debug` to use a large disk runner许杰友 Jieyou Xu (Joe)-1/+3
Full stage 2 build + run-make with full debug info seems to overwhelm the standard 4c runner's storage capacity.
2024-10-21Auto merge of #131570 - ehuss:update-xcode, r=Mark-Simulacrumbors-5/+5
(ci) Update macOS Xcode to 15 This updates the macOS builders to Xcode 15. The aarch64 images will be removing Xcode 14 and 16 very soon (https://github.com/actions/runner-images/issues/10703), so we will need to make the switch to continue operating. The linked issue also documents GitHub's new policy for how they will be updating Xcode in the future. Also worth being aware of is the future plans for x86 runners documented in https://github.com/actions/runner-images/issues/9255 and https://github.com/actions/runner-images/issues/10686, which will impact our future upgrade behaviors. I decided to also update the Xcode in the x86_64 runners, even though they are not being removed. It felt better to me to have all macOS runners on the same (major) version of Xcode. However, note that the x86_64 runners do not have the latest version of 15 (15.4), so I left them at 15.2 (which is currently the default Xcode of the runner). Xcode 15 was previously causing problems (see #121058) which seem to be resolved now. `@bjorn3` fixed the `invalid r_symbolnum` issue with cranelift. The issue with clang failing to link seems to be fixed, possibly by the update of the pre-built LLVM from 14 to llvm 15 in https://github.com/rust-lang/rust/pull/124850, or an update in our source version of LLVM. I have run some try builds and at least LLVM seems to build (I did not run any tests). Closes #121058
2024-10-18Auto merge of #131887 - jieyouxu:rollup-ftik4ni, r=jieyouxubors-0/+2
Rollup of 9 pull requests Successful merges: - #130136 (Partially stabilize const_pin) - #131755 (Regression test for AVR `rjmp` offset) - #131774 (Add getentropy for RTEMS) - #131802 (Dont ICE when computing coverage of synthetic async closure body) - #131809 (Fix predicate signatures in retain_mut docs) - #131858 (Remove outdated documentation for `repeat_n`) - #131866 (Avoid use imports in `thread_local_inner!`) - #131874 (Default to the medium code model on OpenHarmony LoongArch target) - #131877 (checktools.sh: add link to issue for more context about disabled Miri tests) r? `@ghost` `@rustbot` modify labels: rollup
2024-10-18checktools.sh: add link to issue for more context about disabled Miri testsRalf Jung-0/+2
2024-10-13CI: use free runners for 4core Linux jobsJakub Beránek-7/+12
2024-10-11(ci) Update macOS to Xcode 15Eric Huss-5/+5
2024-10-11move dummy commit logic into x86_64-gnu-llvm-18onur-ozkan-5/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-10-08disable read-only mode in mingw-check image for merge pipelineonur-ozkan-0/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-10-08make an explicit change on compiler then run bootstrap testonur-ozkan-0/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-09-18Update the minimum external LLVM to 18Josh Stone-6/+1
2024-09-15Rollup merge of #130151 - ChrisDenton:slow-ci, r=Mark-SimulacrumMatthias Krüger-1/+5
Use a small runner for msvc-ext2 job Hopefully this should eliminate the errors from this job. The only question is how long it takes. try-job: x86_64-msvc-ext2
2024-09-14Auto merge of #129974 - cuviper:ci-llvm-19, r=Mark-Simulacrumbors-0/+5
ci: add a runner for vanilla LLVM 19 Ubuntu 24.10 has `llvm-19` packages that we can start testing with. The `Dockerfile` is otherwise the same as the `llvm-18` runner.