summary refs log tree commit diff
path: root/src/ci/docker
AgeCommit message (Collapse)AuthorLines
2023-01-10disable failing testPietro Albini-1/+1
Miri is not shipped on stable, so we don't care whether it builds or not.
2022-11-20Revert "Update CI to use Android NDK r25b"Alex Pinkus-11/+36
This reverts commit bf7f1ca316a249cf99d722d79a0db12fef687142.
2022-10-25Auto merge of #103392 - RalfJung:miri, r=oli-obkbors-0/+5
update Miri I had to use a hacked version of josh to create this, so let's be careful with merging this and maybe wait a bit to see if the josh issue becomes more clear. But the history looks good to me, we are not adding duplicates of rustc commits that were previously mirrored to Miri. Also I want to add some cross-testing of Miri in x.py.
2022-10-25Miri: disable macOS testing for nowRalf Jung-1/+2
2022-10-24add support for testing Miri on other targets, and do some cross-testing on CIRalf Jung-0/+4
2022-10-23Auto merge of #103062 - cuviper:dist-mips, r=Mark-Simulacrumbors-88/+3345
Upgrade dist-mips*-linux to ubuntu:22.04 + crosstool-ng These have no change in compatibility, still Linux 4.4 and glibc 2.23. The main motivation for upgrading is that LLVM 16 will require at least GCC 7.1. Using crosstool-ng lets us choose our own toolchain versions, and then the Ubuntu version doesn't matter so much, just for the host compilation while we cross-compile.
2022-10-23Add `rust.lto` config optionJakub Beránek-1/+2
2022-10-19Update browser-ui-test version to 0.12.7Guillaume Gomez-1/+1
2022-10-17Update browser-ui-test version to 0.12.6Guillaume Gomez-1/+1
2022-10-16Update browser-ui-test version to 0.12.5Guillaume Gomez-1/+1
2022-10-14Rollup merge of #103047 - GuillaumeGomez:update-browser-ui-test, r=notriddleMatthias Krüger-1/+1
Update browser-ui-test version to fix some flaky tests Part of #93784. It should fix the new spurious failure found in https://github.com/rust-lang/rust/pull/102744. r? ``@notriddle``
2022-10-14Upgrade dist-mips*-linux to ubuntu:22.04 + crosstool-ngJosh Stone-88/+3345
These have no change in compatibility, still Linux 4.4 and glibc 2.23.
2022-10-14Update browser-ui-test version to fix some flaky testsGuillaume Gomez-1/+1
2022-10-14checktools: fix commentsRalf Jung-1/+3
2022-10-13Update browser-ui-test version to 0.12.3Guillaume Gomez-1/+1
2022-10-10Rollup merge of #102888 - GuillaumeGomez:improve-search-color-check, r=notriddleMatthias Krüger-1/+1
Improve rustdoc-gui search-color test Thanks to the add of "functions" in `browser-ui-test`, we can start to reduce the size of the scripts. It'll be very useful for all color checks. r? `@notriddle`
2022-10-10Update browser-ui-test version to 0.12.2Guillaume Gomez-1/+1
2022-10-10Auto merge of #94381 - Kobzol:llvm-bolt, r=Mark-Simulacrumbors-2/+2
Use BOLT in CI to optimize LLVM This PR adds an optimization step in the Linux `dist` CI pipeline that uses [BOLT](https://github.com/llvm/llvm-project/tree/main/bolt) to optimize the `libLLVM.so` library built by boostrap. Steps: - [x] Use LLVM 15 as a bootstrap compiler and use it to build BOLT - [x] Compile LLVM with support for relocations (`-DCMAKE_SHARED_LINKER_FLAGS="-Wl,-q"`) - [x] Gather profile data using instrumented LLVM - [x] Apply profile to LLVM that has already been PGOfied - [x] Run with BOLT profiling on more benchmarks - [x] Decide on the order of optimization (PGO -> BOLT?) - [x] Decide how we should get `bolt` (currently we use the host `bolt`) - [x] Clean up The latest perf results can be found [here](https://github.com/rust-lang/rust/pull/94381#issuecomment-1258269440). The current CI build time with BOLT applied is around 1h 55 minutes.
2022-10-09Auto merge of #102332 - chriswailes:ndk-update, r=chriswailesbors-36/+11
Update CI to use Android NDK r25b This commit updates the CI definitions to use the most recent Android LTS NDK release: r25b. Changes since the last NDK used by Rust negate the need to generate "standalone toolchains" and newer NDKs can be used in-place. See https://developer.android.com/ndk/guides/other_build_systems#overview
2022-10-09Use BOLT in x64 dist CI to optimize LLVMJakub Beránek-2/+2
2022-10-07Update browser-ui-test versionGuillaume Gomez-1/+1
2022-10-06Disable compressed debug sections on i586-gnuJosh Stone-1/+5
Compressed debug is enabled by default for gas (assembly) on Linux/x86 targets, and we started building our own in #102530, but that made our `compiler_builtins` incompatible with binutils < 2.32. Add an explicit option to disable that in our crosstool-ng config. Fixes #102703.
2022-10-04Update CI to use Android NDK r25bChris Wailes-36/+11
This commit updates the CI definitions to use the most recent Android LTS NDK release: r25b. Changes since the last NDK used by Rust negate the need to generate "standalone toolchains" and newer NDKs can be used in-place. See https://developer.android.com/ndk/guides/other_build_systems#overview
2022-09-30Upgrade dist-i586-gnu-i586-i686-musl to ubuntu:22.04Josh Stone-6/+797
The system GCC 5 in ubuntu:16.04 will be too old to compile LLVM 16, so we need an upgrade. To avoid raising the minimum glibc requirements for `i586-unknown-linux-gnu`, this target is converted to a crosstool-ng toolchain, *relaxing* it to the same Linux 3.2 / glibc 2.17 minimum we use elsewhere. The musl targets still use Ubuntu's system toolchain, but this doesn't have the same compatibility concerns.
2022-09-29Auto merge of #101833 - jyn514:cross-compile-compiler-builtins, ↵bors-0/+6
r=Mark-Simulacrum Make the `c` feature for `compiler-builtins` an explicit opt-in Its build script doesn't support cross-compilation. I tried fixing it, but the cc crate itself doesn't appear to support cross-compiling to windows either unless you use the -gnu toolchain: ``` error occurred: Failed to find tool. Is `lib.exe` installed? ``` Fixes https://github.com/rust-lang/rust/issues/101172.
2022-09-28Make the `c` feature for `compiler-builtins` opt-in instead of inferredJoshua Nelson-0/+6
The build script for `compiler_builtins` doesn't support cross-compilation. I tried fixing it, but the cc crate itself doesn't appear to support cross-compiling to windows either unless you use the -gnu toolchain: ``` error occurred: Failed to find tool. Is `lib.exe` installed? ``` Rather than trying to fix it or special-case the platforms without bugs, make it opt-in instead of automatic.
2022-09-24Auto merge of #98483 - dvtkrlbs:bootstrap-dist, r=jyn514bors-1/+1
Distribute bootstrap in CI This pre-compiles bootstrap from source and adds it to the existing `rust-dev` component. There are two main goals here: 1. Make it faster to build rust from source, both the first time and incrementally 2. Make it easier to add non-python entrypoints, since they can call out to bootstrap directly rather than having to figure out the right flags to pre-compile it. This second part is still in a bit of flux, see the tracking issue below for more information. There are also several changes to make bootstrap able to run on a machine other than the one it was built (particularly around `config.src` and `config.out` detection). I (`@jyn514)` am slightly concerned these will regress unless tested - maybe we should add an automated test that runs bootstrap in a chroot or something? Unclear whether the effort is worth the test coverage. Helps with https://github.com/rust-lang/rust/issues/94829.
2022-09-24Rollup merge of #102199 - GuillaumeGomez:improve-rustdoc-gui-tests, r=notriddleMatthias Krüger-1/+1
Improve rustdoc GUI tests I finally finished the update so we can now store values in variables and use them. It improves things nicely. r? ``@notriddle``
2022-09-23Update browser-ui-test version to 0.11.0Guillaume Gomez-1/+1
2022-09-21Remove miri from the submodule list and require it for CI to passOli Scherer-1/+1
2022-09-14Distribute bootstrap in CI artifactsTuna-1/+1
- Add a new `bootstrap` component Originally, we planned to combine this with the `rust-dev` component. However, I realized that would force LLVM to be redownloaded whenever bootstrap is modified. LLVM is a much larger download, so split this to get better caching. - Build bootstrap for all tier 1 and 2 targets
2022-09-10Update browser-ui-test version to 0.10.0Guillaume Gomez-1/+1
2022-09-10Update browser-ui-test version to 0.9.8Guillaume Gomez-1/+1
2022-09-07Update LLVM used in x86 CI dist builds to `15.0.0`Jakub Beránek-1/+1
2022-09-04Test internal documentationChris Denton-1/+2
2022-09-02Auto merge of #100935 - cuviper:upgrade-android-ci, r=Mark-Simulacrumbors-17/+7
ci: Upgrade android containers from ubuntu:16.04 to 22.04 The main goal of updating to 22.04 is to get away from `llvm.allow-old-toolchain`. These containers are not building LLVM for android, so only the host version matters. A side benefit is that they can also use the system `cmake` instead of building one.
2022-09-01Auto merge of #100606 - cuviper:upgrade-linux-ci, r=Mark-Simulacrumbors-49/+20
ci: Upgrade non-dist Linux testers from ubuntu:16.04 to 22.04 The main goal of updating to 22.04 is to get away from `llvm.allow-old-toolchain`. A side benefit is that they can also use the system `cmake` instead of building one.
2022-08-27Sunset RLSEric Huss-1/+0
2022-08-23ci: Upgrade android containers from ubuntu:16.04 to 22.04Josh Stone-17/+7
2022-08-23Use `--userns=keep-id` when "docker" is really podmanJosh Stone-1/+10
Rootless podman creates a separate user namespace, where an inner `LOCAL_USER_ID` will map to a different subuid range on the host. The "keep-id" mode maps the current UID directly into the container. This makes `src/ci/docker/run.sh` work better for testing container images on systems running podman, where "docker" is just a shim.
2022-08-23ci: Test rustdoc-gui with --jobs 1Josh Stone-1/+2
2022-08-23ci: upgrade Node.js in x86_64-gnu-toolsJosh Stone-2/+2
2022-08-23ci: Test rustdoc-gui with --no-sandboxJosh Stone-1/+1
2022-08-23ci: Upgrade non-dist Linux testers from 16.04 to 22.04Josh Stone-46/+16
2022-08-20Auto merge of #99967 - Mark-Simulacrum:download-llvm-ci, r=jyn514bors-2/+46
Download, rather than sccache-cache, LLVM in CI My hope/expectation is that we can do better than sccache in CI for cached builds -- currently it looks like on macOS those still take upwards of 10-11 minutes, which is a significant amount of time that we could potentially cut. This enables this mode for all non-dist builders; this should avoid any problems with the artifacts we distribute, while also providing for faster test builders (since they'll make use of PGO'd LLVM on the platforms we do that on, which is hopefully a nice win). It slightly increases the chance of test builders starting to fail only after a PR is merged (if PGO changes runtime behavior), but that should hopefully never happen, so I think this is worthwhile. Measurements on the PR for apple-1 don't show any noticeable improvement in CI times, but those can be pretty noisy -- I'm inclined to land this since it *should* pretty much always be better and we can reconsider if that ever turns out not to be the case.
2022-08-20Rollup merge of #99415 - ferrocene:pa-reuse-initial, r=Mark-SimulacrumMatthias Krüger-0/+176
Initial implementation of REUSE This PR implements the first two steps of #99414 by: * Adding some scaffolding for REUSE. The `.reuse/dep5` file now marks every file as the custom "TODO" license, which I'll remove in a future PR once Debian imports their metadata. The TODO license is needed so that `reuse lint` works. * Runs `reuse lint` in CI, in the `mingw-check` builder. REUSE currently has a bug when parsing some files in the LLVM source code. This means REUSE will fail when running it in source tarballs of rustc, and that bug prevents us from passing the `--include-submodules` flag in CI. I opened https://github.com/fsfe/reuse-tool/pull/560 upstream with a fix, and as soon as it's merged/released I planned to bump the pinned version to include the fix we need. r? `@Mark-Simulacrum`
2022-08-20Add global safe.directory for CIMark Rousskov-0/+6
2022-08-20Enable downloading prebuilt LLVM in test buildersMark Rousskov-2/+40
See comment added for details on the test builder restriction. This is primarily intended for macOS CI, but is likely to be a slight win on other builders too.
2022-08-14Update the minimum external LLVM to 13Josh Stone-9/+9
2022-08-12Use an extensionless `x` script for non-WindowsJosh Stone-2/+2