about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2025-01-19Rollup merge of #135640 - Gelbpunkt:drop-mips-glibc-patches, r=KobzolMatthias Krüger-127/+0
Drop MIPS glibc 2.23 patches that reside in crosstool-ng now These patches were added to crosstool-ng in https://github.com/crosstool-ng/crosstool-ng/commit/b88d3385162415294cba57e7b4cecc03259548fb and are therefore duplicate and fail to apply, breaking builds of `dist-mips*-linux`. I have compile tested `dist-mipsel-linux`, I assume the other targets will work just as fine now.
2025-01-19Rollup merge of #135623 - marcoieni:mingw-check-tidy-dockerfile, r=KobzolMatthias Krüger-1/+3
ci: use ghcr ubuntu image for mingw-check-tidy
2025-01-19Rollup merge of #135616 - marcoieni:split-i686-msvc-job, r=KobzolMatthias Krüger-3/+10
CI: split i686-msvc job to two free runners try-job: i686-msvc-1 try-job: i686-msvc-2
2025-01-18Auto merge of #135633 - marcoieni:ci-free-arm-linux, r=Kobzolbors-1/+1
ci: switch to linux free arm runners try-job: aarch64-gnu try-job: aarch64-gnu-debug try-job: dist-aarch64-linux
2025-01-18Bump Fuchsia integration commitErick Tryzelaar-1/+1
This advances Fuchsia to a checkout from 2025-01-13, which corresponds to a recent Rust roll, and hopefully avoids #135667, where a repository used by the older version of Rust was accidentally archived and broke checking out the prior version. try-job: x86_64-fuchsia
2025-01-17Drop MIPS glibc 2.23 patches that reside in crosstool-ng nowJens Reidel-127/+0
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2025-01-17ci: switch to linux free arm runnersMarcoIeni-1/+1
2025-01-17ci: use ghcr ubuntu image for mingw-check-tidyMarcoIeni-1/+3
2025-01-17CI: split i686-msvc job to two free runnersMarcoIeni-3/+10
2025-01-15Rollup merge of #133807 - mrkajetanp:ci-aarch64-opt-dist, r=KobzolJacob Pratt-1/+4
ci: Enable opt-dist for dist-aarch64-linux builds Move the CI dist-aarch64-linux job to an aarch64 runner and enable optimised dist builds with the opt-dist pipeline. For the time being, disable bolt on aarch64 due to upstream bolt bugs. r? `@Kobzol` cc `@lqd` try-job: dist-aarch64-linux
2025-01-14Rollup merge of #135476 - kleisauke:remove-asmjs-remnant, r=KobzolMatthias Krüger-24/+0
Remove remnant of asmjs See: https://github.com/rust-lang/rust/issues/131467#issuecomment-2529314603.
2025-01-14Remove remnant of asmjsKleis Auke Wolthuizen-24/+0
See: https://github.com/rust-lang/rust/issues/131467#issuecomment-2529314603.
2025-01-13Fix error in CI by updating the GCC versionAntoni Boucher-1/+1
2025-01-13ci: Enable opt-dist for dist-aarch64-linux buildsKajetan Puchalski-1/+4
Enable optimised AArch64 dist builds with the opt-dist pipeline. For the time being, disable bolt on aarch64 due to upstream bolt bugs.
2025-01-12Fixup: fix clang command lines in another fileAlan Somers-3/+3
2025-01-11ci: Organise shared helper scriptsKajetan Puchalski-200/+41
Move shared helper scripts used by Docker builds under docker/scripts.
2025-01-10ci: Move dist-aarch64-linux to an aarch64 runnerKajetan Puchalski-43/+241
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-09CI: fix name of jobsJakub Beránek-1/+1
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-07Apply review commentsJakub Beránek-58/+93
2025-01-07Make it possible to select PR vs auto jobsJakub Beránek-9/+22
2025-01-07Rename `image` property of CI jobs to `name`Jakub Beránek-84/+96
The `image` part didn't really make sense, especially since we started splitting CI jobs.
2025-01-07Update documentationJakub Beránek-13/+14
2025-01-07Add a command to run a given Linux CI job locallyJakub Beránek-19/+67
2025-01-07Rename CI script from `calculate-job-matrix` to `ci.py`Jakub Beránek-0/+0
2025-01-06chore: remove redundant words in commentcrystalstall-1/+1
Signed-off-by: crystalstall <crystalruby@qq.com>
2024-12-31Reformat Python fileJakub Beránek-2/+12
2024-12-31Enable Python formatting checks in tidy on CIJakub Beránek-1/+1
2024-12-30Rollup merge of #134924 - ranger-ross:cleanup-ci-output, r=KobzolMatthias Krüger-1/+2
ci: Cleanup docker build logs in CI Cleaning up the CI logs to make reviewing CI failures easier. This PR adds a `::group` around the docker tag hash input which is pretty large (250+ lines) and is probably not relevant for most people. Related to #134910 , see this [comment](https://github.com/rust-lang/rust/issues/134910#issuecomment-2565612463)
2024-12-31ci: Cleanup docker build logs in CIranger-ross-1/+2
2024-12-30chore: fix typosHoru-1/+1
2024-12-29Document how to run the split Docker pipelinesJakub Beránek-0/+6
2024-12-27Auto merge of #134690 - clubby789:ci-clang-lto, r=Kobzolbors-2/+11
CI: Add LTO support to clang in dist-x86_64-linux After https://github.com/rust-lang/cc-rs/pull/1279, we attempt to pass `-flto=thin` to clang. In `dist-x86_64-linux`, we don't build clang with the `LLVMgold.so` library so this fails. This attempts to resolve this First, pass the binutils plugin include directory to Clang, [which will build the library](https://github.com/llvm/llvm-project/blob/2d6d723a85c2d007b0359c206d66cd2e5a9f00e1/llvm/docs/GoldPlugin.rst#how-to-build-it) Second, this library depends on the *version of libstdc++ that we built* specifically. However, despite both the RPATH and LD_LIBRARY_PATH pointing to `/rustroot/lib`, we incorrectly resolve to the system libstdc++, which doesn't load. ``` # LD_DEBUG=libs,files 2219: file=libstdc++.so.6 [0]; needed by /rustroot/bin/../lib/LLVMgold.so [0] 2219: find library=libstdc++.so.6 [0]; searching 2219: search path=/rustroot/bin/../lib/../lib (RPATH from file /rustroot/bin/../lib/LLVMgold.so) 2219: trying file=/rustroot/bin/../lib/../lib/libstdc++.so.6 2219: search path=/usr/lib64/tls:/usr/lib64 (system search path) 2219: trying file=/usr/lib64/tls/libstdc++.so.6 2219: trying file=/usr/lib64/libstdc++.so.6 ``` Using `LD_PRELOAD` causes it to correctly load the library I think this is probably not the most maintainable way to do this, so opening to see if this is desired and if there's a better way of doing this
2024-12-27Add LTO support to clang in CIclubby789-2/+11
2024-12-26Strip debuginfo from rustc-main and rustdocclubby789-0/+1
2024-12-23Link to dev guide on Docker testingclubby789-0/+4
2024-12-21Rollup merge of #134581 - erickt:bump_sdk, r=lqdMatthias Krüger-4/+4
Bump Fuchsia toolchain for testing This updates the Fuchsia SDK used to test rust on Fuchsia to 26.20241211.7.1, and clang to the development version 20 from 388d7f144880dcd85ff31f06793304405a9f44b6. ```@steven807``` asked me to take over the PR. Since I don't have commit access to his repo, I just cherry picked his patch here. try-job: dist-various-2 r? lqd
2024-12-21Revert "Auto merge of #133902 - Kobzol:ci-dist-arm-runner, r=MarcoIeni"Jakub Beránek-5/+5
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-129/+99
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)-49/+41
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-18Bump Fuchsia toolchain for testingSteven Grady-4/+4
This updates the Fuchsia SDK used to test rust on Fuchsia to 26.20241211.7.1, and clang to the development version 20 from 388d7f144880dcd85ff31f06793304405a9f44b6.
2024-12-18ci: Organise shared helper scriptsKajetan Puchalski-199/+31
Move shared helper scripts used by Docker builds under docker/scripts.
2024-12-18ci: Move dist-aarch64-linux to an aarch64 runnerKajetan Puchalski-47/+245
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-5/+44
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-49/+41
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-16Auto merge of #134095 - Kobzol:datadog-lockfile, r=MarcoIenibors-8/+5015
[CI] Use a lockfile for installing the `datadog` package Without a lockfile, it could fail to compile when the dependencies have changed. Reported [here](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/CI.20failure.20in.20DataDog.20upload). r? `@jdno` try-job: x86_64-msvc-ext2
2024-12-16Rollup merge of #134124 - MarcoIeni:split-llvm-jobs, r=KobzolMatthias Krüger-44/+143
CI: use free runners for x86_64-gnu-llvm jobs 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
2024-12-16[CI] Use a lockfile for installing the `datadog` packageJakub Beránek-8/+5015
Without a lockfile, it could fail to compile when the dependencies have changed.