Commit graph

2273 commits

Author SHA1 Message Date
Matthias Krüger
03c4462222
Rollup merge of #135640 - Gelbpunkt:drop-mips-glibc-patches, r=Kobzol
Drop MIPS glibc 2.23 patches that reside in crosstool-ng now

These patches were added to crosstool-ng in b88d338516 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-19 01:18:55 +01:00
Matthias Krüger
81a464f8a5
Rollup merge of #135623 - marcoieni:mingw-check-tidy-dockerfile, r=Kobzol
ci: use ghcr ubuntu image for mingw-check-tidy
2025-01-19 01:18:54 +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
bors
1d55f7270d Auto merge of #135633 - marcoieni:ci-free-arm-linux, r=Kobzol
ci: switch to linux free arm runners

try-job: aarch64-gnu
try-job: aarch64-gnu-debug
try-job: dist-aarch64-linux
2025-01-18 21:27:25 +00:00
Erick Tryzelaar
37a88ba320 Bump Fuchsia integration commit
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-18 06:13:00 +00:00
Jens Reidel
dfb816208a
Drop MIPS glibc 2.23 patches that reside in crosstool-ng now
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2025-01-17 18:34:45 +01:00
MarcoIeni
0e80d78709
ci: switch to linux free arm runners 2025-01-17 16:38:10 +01:00
MarcoIeni
ffc7b5dc20
ci: use ghcr ubuntu image for mingw-check-tidy 2025-01-17 13:14:51 +01:00
MarcoIeni
de89ffc341
CI: split i686-msvc job to two free runners 2025-01-17 09:22:10 +01:00
Jacob Pratt
f9d8b6590d
Rollup merge of #133807 - mrkajetanp:ci-aarch64-opt-dist, r=Kobzol
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-15 04:08:11 -05:00
Matthias Krüger
e0e2f6a200
Rollup merge of #135476 - kleisauke:remove-asmjs-remnant, r=Kobzol
Remove remnant of asmjs

See: https://github.com/rust-lang/rust/issues/131467#issuecomment-2529314603.
2025-01-14 19:25:07 +01:00
Kleis Auke Wolthuizen
3a66b97b9b Remove remnant of asmjs
See: https://github.com/rust-lang/rust/issues/131467#issuecomment-2529314603.
2025-01-14 10:49:32 +01:00
Antoni Boucher
f3cfff7e98 Fix error in CI by updating the GCC version 2025-01-13 14:22:15 -05:00
Kajetan Puchalski
3d54764121 ci: Enable opt-dist for dist-aarch64-linux builds
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-13 10:33:28 +00:00
Kajetan Puchalski
9ba34f8347 ci: Organise shared helper scripts
Move shared helper scripts used by Docker builds under docker/scripts.
2025-01-11 15:15:11 +00: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
e4b6ccef43 Update documentation 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
crystalstall
591bf63439 chore: remove redundant words in comment
Signed-off-by: crystalstall <crystalruby@qq.com>
2025-01-06 15:47:49 +08:00
Jakub Beránek
787c2a2c6a Reformat Python file 2024-12-31 13:14:04 +01:00
Jakub Beránek
bbb5ca7c79 Enable Python formatting checks in tidy on CI 2024-12-31 13:13:15 +01:00
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