summary refs log tree commit diff
path: root/src/ci/docker
AgeCommit message (Collapse)AuthorLines
2025-03-07Do not use rustup to build Rust for LinuxJakub Beránek-10/+8
(cherry picked from commit e3117e6e1834838bce446517d7541dda395032d8)
2025-02-17fix musl's CVE-2025-26519Pietro Albini-0/+41
(cherry picked from commit a6ee2f4af223ff7636c5d55c735fd5bb51c8578f)
2025-02-10Rollup merge of #136628 - heiher:crosstool-ng-1.27, r=Mark-SimulacrumMatthias Krüger-24/+7
ci: upgrade to crosstool-ng 1.27.0 try-job: dist-loongarch64-linux try-job: dist-loongarch64-musl try-job: dist-powerpc64le-linux
2025-02-07Rollup merge of #136582 - asomers:revert-132232, r=tgross35Matthias Krüger-9/+9
Revert "CI: build FreeBSD artifacts on FreeBSD 13.4" This reverts commit cf34545720986d99712e3b542e8f395360c75095. That commit led to a regression of https://github.com/rust-lang/rust/issues/132185 . So my analysis that the problem lay in FreeBSD 13.2's specific LLVM version was clearly wrong. Revert that commit until we can figure out the real root cause. Fixes #132185 try-job: dist-x86_64-freebsd try-job: dist-various-2
2025-02-06ci: upgrade to crosstool-ng 1.27.0WANG Rui-24/+7
2025-02-05Update browser-ui-test version to `0.20.2`Guillaume Gomez-1/+1
2025-02-05fixup: fix the compiler path in one more DockerfileAlan Somers-3/+3
2025-02-05Revert "CI: build FreeBSD artifacts on FreeBSD 13.4"Alan Somers-6/+6
This reverts commit cf34545720986d99712e3b542e8f395360c75095. That commit led to a regression of https://github.com/rust-lang/rust/issues/132185 . So my analysis that the problem lay in FreeBSD 13.2's specific LLVM version was clearly wrong. Revert that commit until we can figure out the real root cause. Fixes #132185
2025-02-03Auto merge of #136146 - RalfJung:x86-abi, r=workingjubileebors-2/+2
Explicitly choose x86 softfloat/hardfloat ABI Part of https://github.com/rust-lang/rust/pull/135408: Instead of choosing this based on the target features listed in the target spec, make that choice explicit. All built-in targets are being updated here; custom (JSON-defined) x86 (32bit and 64bit) softfloat targets need to explicitly set `rustc-abi` to `x86-softfloat`.
2025-02-03patch RfL jobRalf Jung-2/+2
2025-01-29Rollup merge of #136161 - notriddle:typescript, r=GuillaumeGomezLeón Orell Valerian Liehr-2/+3
rustdoc: add nobuild typescript checking to our JS By nobuild, I mean that the type annotations are all [in comments], not in the "native" typescript syntax. This is a bit uglier, but it lets you rapid-prototype without tsc, works with all the native browser debugging tools, and keeps Node out of Rust's bootstrap chain. [in comments]: https://news.ycombinator.com/item?id=35892250 This pull request mostly just adds ts-ignore annotations and type declarations. To actually take good advantage of typescript, we'll want to "burn down" this pile of unsafe code until we eventually have a version with almost none of these. This PR also adds tsc to the mingw-check Dockerfile, so that it can't fall out of date like the Closure annotations did. https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/typescript r? `@GuillaumeGomez` `@lolbinarycat`
2025-01-27rustdoc: add nobuild typescript checking to our JSMichael Howell-2/+3
By nobuild, I mean that the type annotations are all in comments, not in the "native" typescript syntax. This is a bit uglier, but it lets you rapid-prototype without tsc, works with all the native browser debugging tools, and keeps Node out of Rust's bootstrap chain. This pull request mostly just adds ts-ignore annotations and type declarations. To actually take good advantage of typescript, we'll want to "burn down" this pile of unsafe code until we eventually have a version with almost none of these. This PR also adds tsc to the mingw-check Dockerfile, so that it can't fall out of date like the Closure annotations did. https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/typescript
2025-01-27Fix 2/4 tests skipped by opt-distBen Kimock-0/+3
2025-01-24Rollup merge of #135638 - Kobzol:gcc-ci, r=onur-ozkanMatthias Krüger-0/+7
Make it possible to build GCC on CI This is the first step towards eventually enabling download of precompiled GCC from our CI. Currently, we prebuild `libgccjit` on CI and cache it in Docker. This PR improves the bootstrap GCC step to make it work on CI, and also to make it faster by using sccache. After this change, an actual build on CI should take only 2-3 minutes. Note that this PR does not yet remove the `build-gccjit.sh` script and replace it with the bootstrap step, I'll leave that to a follow-up PR. The added `flex` package and the ZSTD library fix were needed to make GCC build on CI. CC ``````@GuillaumeGomez`````` r? ``````@onur-ozkan``````
2025-01-22Rollup merge of #135814 - marcoieni:use-buildkit-ghcr, r=KobzolMatthias Krüger-2/+7
ci: use ghcr buildkit image
2025-01-21Rollup merge of #132232 - asomers:fbsd-13.4, r=Mark-SimulacrumMatthias Krüger-9/+9
CI: build FreeBSD artifacts on FreeBSD 13.4 13.2 is EoL, and 13.3 will be EoL too in about 2 months. Plus, both suffer from a bug in LLVM's libunwind. It causes a segfault inside of std::backtrace::Backtrace::capture(). Fixes #132185 cc ``````@ehuss`````` . before you can do the trybuild, you'll also have to download new FreeBSD 13.4 base.txz images and place them in https://ci-mirrors.rust-lang.org/rustc , then update this PR with the correct file names. try-job: dist-x86_64-freebsd try-job: dist-various-2
2025-01-21ci: use ghcr buildkit imageMarcoIeni-2/+7
2025-01-21Make it possible to build GCC on CIJakub Beránek-0/+7
This is the first step to enable download of precompiled GCC
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-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: use ghcr ubuntu image for mingw-check-tidyMarcoIeni-1/+3
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-42/+240
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-07Update documentationJakub Beránek-13/+14
2025-01-06chore: remove redundant words in commentcrystalstall-1/+1
Signed-off-by: crystalstall <crystalruby@qq.com>
2024-12-31Enable Python formatting checks in tidy on CIJakub Beránek-1/+1
2024-12-31ci: Cleanup docker build logs in CIranger-ross-1/+2
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-1/+1
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-124/+94
This reverts commit 023521e6825edfa6df01e392520d7cb120eab158, reversing changes made to c434b4b4b6cd20560c5b32e80b2b22618a4da3dd.
2024-12-19Rollup merge of #134427 - MarcoIeni:ci-remove-code-duplication, r=Kobzol许杰友 Jieyou Xu (Joe)-22/+35
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-42/+240
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-4/+43
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-22/+35
2024-12-16Rollup merge of #134124 - MarcoIeni:split-llvm-jobs, r=KobzolMatthias Krüger-40/+96
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