Commit graph

2247 commits

Author SHA1 Message Date
Matthias Krüger
05c0cd31e7
Rollup merge of #134924 - ranger-ross:cleanup-ci-output, r=Kobzol
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-30 19:34:57 +01:00
ranger-ross
b4d14ceae7
ci: Cleanup docker build logs in CI 2024-12-31 00:28:58 +09:00
Horu
4c279fb7af chore: fix typos 2024-12-30 14:56:21 +07:00
Jakub Beránek
9007cb15e4 Document how to run the split Docker pipelines 2024-12-29 18:02:14 +01:00
bors
ecc189922d Auto merge of #134690 - clubby789:ci-clang-lto, r=Kobzol
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](2d6d723a85/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-27 23:22:08 +00:00
clubby789
9e57593fdb Add LTO support to clang in CI 2024-12-27 11:04:16 +00:00
clubby789
e5f676521c Strip debuginfo from rustc-main and rustdoc 2024-12-26 22:34:09 +00:00
clubby789
d124ec68b3 Link to dev guide on Docker testing 2024-12-23 09:35:14 +00:00
Matthias Krüger
22de6f6880
Rollup merge of #134581 - erickt:bump_sdk, r=lqd
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-21 22:16:04 +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
Steven Grady
a93c95b85b 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.
2024-12-18 11:40:01 -08:00
Kajetan Puchalski
3afda7e798
ci: Organise shared helper scripts
Move shared helper scripts used by Docker builds under docker/scripts.
2024-12-18 10:53:41 +00: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
bors
13b77c687c Auto merge of #134095 - Kobzol:datadog-lockfile, r=MarcoIeni
[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-16 23:07:24 +00:00
Matthias Krüger
0ff00b6adb
Rollup merge of #134124 - MarcoIeni:split-llvm-jobs, r=Kobzol
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 20:00:09 +01:00
Jakub Beránek
6e22b84296
[CI] Use a lockfile for installing the datadog package
Without a lockfile, it could fail to compile when the dependencies have changed.
2024-12-16 12:35:09 +01:00
Matthias Krüger
352e3232b9
Rollup merge of #134227 - alexcrichton:update-wasi-sdk, r=lqd
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-14 14:07:58 +01:00
Alex Crichton
6b93fac9ff 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.
2024-12-12 11:00:02 -08:00
MarcoIeni
ac078a4ccc
fix path 2024-12-12 19:34:45 +01:00
MarcoIeni
4fa9078b17
fix path 2024-12-12 19:19:04 +01:00
MarcoIeni
a67a71da18
add files 2024-12-12 18:34:20 +01:00
MarcoIeni
c2f45505f5
remove echo 2024-12-12 18:18:23 +01:00
MarcoIeni
2bf1cec41b
refactor 2024-12-12 18:07:47 +01:00
MarcoIeni
a1abbaab0d
remove echo logs 2024-12-12 18:02:19 +01:00
MarcoIeni
aa0fd4621e
copy script 2024-12-12 14:49:59 +01:00
MarcoIeni
7ce2944ef9
test stage 1 in separate job 2024-12-12 12:59:30 +01:00
Steven Grady
f39e813c0f
Bump Fuchsia 2024-12-11 16:35:43 -08:00
MarcoIeni
1f38572e57
fix 2024-12-11 17:43:12 +01:00
MarcoIeni
fee220a900
fix 2024-12-11 15:21:03 +01:00
MarcoIeni
eec9bcf163
more debug 2024-12-11 12:47:58 +01:00
MarcoIeni
9ed728d19e
debug 2024-12-11 12:31:13 +01:00
MarcoIeni
754fb24313
debug 2024-12-11 11:54:12 +01:00
MarcoIeni
d74de1fdb1
debug 2024-12-11 11:43:11 +01:00
MarcoIeni
a8bc3cf38b
fix 2024-12-11 11:36:39 +01:00
MarcoIeni
abd8352de7
restore command 2024-12-11 11:29:18 +01:00
MarcoIeni
84ba41dcd8
remove unnecessary change 2024-12-11 11:21:21 +01:00
MarcoIeni
bb88d7a0f1
fix 2024-12-11 11:09:32 +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
e67e9b448e
fix 2024-12-10 15:17:24 +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