about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
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.
2024-12-14Rollup merge of #134227 - alexcrichton:update-wasi-sdk, r=lqdMatthias Krüger-4/+4
Update wasi-sdk used to build WASI targets Bump to the latest wasi-sdk-25 release which brings in various wasi-libc updates as well as LLVM 19 as the version used to compile wasi-libc. - https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-24 - https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-25
2024-12-12Update wasi-sdk used to build WASI targetsAlex Crichton-4/+4
Bump to the latest wasi-sdk-25 release which brings in various wasi-libc updates as well as LLVM 19 as the version used to compile wasi-libc.
2024-12-12fix pathMarcoIeni-4/+4
2024-12-12fix pathMarcoIeni-4/+4
2024-12-12add filesMarcoIeni-0/+2
2024-12-12remove echoMarcoIeni-2/+0
2024-12-12refactorMarcoIeni-60/+25
2024-12-12remove echo logsMarcoIeni-6/+0
2024-12-12copy scriptMarcoIeni-0/+2
2024-12-12test stage 1 in separate jobMarcoIeni-58/+60
2024-12-11Bump FuchsiaSteven Grady-1/+1
2024-12-11fixMarcoIeni-14/+14
2024-12-11fixMarcoIeni-4/+8