about summary refs log tree commit diff
path: root/src/ci/docker
AgeCommit message (Collapse)AuthorLines
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
2022-08-12Auto merge of #99464 - nikic:llvm-15, r=cuviperbors-12/+25
Update to LLVM 15 For preliminary testing. Some LLVM 15 compatibility fixes were applied separately in #99512. Release timeline: * LLVM 15 branched on Jul 26. * The final LLVM 15.0.0 release is scheduled for Sep 6. * Current nightly (1.65.0) is scheduled for Nov 3. Changes in this PR (apart from the LLVM update): * Pass `--set llvm.allow-old-toolchain` for many Docker images. LLVM 16 will require GCC >= 7.1, while LLVM 15 still allows older compilers with an option. Specify the option for builders still using GCC 5.4. #95026 updated some of the used toolchains, but not all. * Use the `+atomics-32` target feature for thumbv6m. * Explicitly link libatomic when cross-compiling LLVM to 32-bit target. * Explicitly disable zstd support, to avoid libzstd.so dependency. New LLVM patches ([commits](https://github.com/rust-lang/llvm-project/commits/rustc/15.0-2022-08-09)): * [rust-only] Fix ICE with GCC 5.4 (https://github.com/nikic/llvm-project/commit/15be58d7f0342b1da5af219bac8bd71d01da6dff) * [rust-only] Fix build with GCC 5.4 (https://github.com/nikic/llvm-project/commit/774edc10fa45229c2aa678f1bef8b4812dc0f76a) * ~~[rust-only] Fix build with GCC 5.2 (https://github.com/nikic/llvm-project/commit/1a6069a7bb35ace1e40d566035cbf7ed2fa3b1f7)~~ * ~~[rust-only] Fix ICE with GCC 5.2 (https://github.com/nikic/llvm-project/commit/493081f2909206e0ed55af68a4058a76c0ad7a64)~~ * ~~[rust-only] Fix build with GCC 5.2 (https://github.com/nikic/llvm-project/commit/0fc5979d738c3a1f9510fe2d62417f7d2af37817)~~ * [backported] Addition of `+atomics` target feature (https://github.com/llvm/llvm-project/commit/57bdd9892d0eba5bdd25fc44799235be7b9f5153). * [backported] Revert compiler-rt change that broke powerpc (https://github.com/llvm/llvm-project/commit/9c68b43915fc1c9c0a07e935163ae8d638d7241b) * [awaiting backport] Fix RelLookupTableConverter on gnux32 (https://github.com/nikic/llvm-project/commit/639388a05f25772fb23eea5b1045e7df83bcfaa7 / https://github.com/llvm/llvm-project/issues/57021) Tested images: dist-x86_64-linux, armhf-gnu, arm-android, dist-s390x-linux, dist-x86_64-illumos, dist-x86_64-freebsd, wasm32, dist-x86_64-musl, dist-various-1, dist-riscv64-linux, dist-mips-linux, dist-mipsel-linux, dist-powerpc-linux, dist-aarch64-linux, dist-x86_64-apple, x86_64-msvc-1, x86_64-msvc-2, dist-various-2, dist-arm-linux Tested up to the usual ipv6 error: test-various, i686-gnu, x86_64-gnu-nopt r? `@ghost`
2022-08-11Rollup merge of #99992 - jyn514:shell-scripts, r=Mark-SimulacrumMatthias Krüger-3/+15
Add `x.sh` and `x.ps1` shell scripts This is a more ambitious version of https://github.com/rust-lang/rust/pull/98716. It still changes the x.py shebang back to python3, for compatibility with non-Unix systems, but also adds alternative entrypoints for systems without `python3` installed. These scripts will be necessary for the rust entrypoint (#94829), so I see little downside in adding them early. I'll update the dev-guide to suggest using these instead of x.py once this is merged. Fixes https://github.com/rust-lang/rust/issues/98650 r? `@Mark-Simulacrum` cc `@dtolnay` `@CAD97` `@yoshuawuyts`
2022-08-09Allow old toolchain on some imagesNikita Popov-12/+25
LLVM 16 will require GCC >= 7.1. For now, set the flag that allows using an older toolchain.
2022-08-08Add `x.sh` and `x.ps1` shell scriptsJoshua Nelson-3/+15
This is a more ambitious version of https://github.com/rust-lang/rust/pull/98716. It still changes the shebang back to python3, for compatibility with non-Unix systems, but also adds alternative entrypoints for systems without `python3` installed. These scripts will be necessary for the rust entrypoint (#94829), so I see little downside in adding them early.
2022-08-07Auto merge of #99833 - andrewpollack:fuchsia-rust-ci-zircon-lib-improvement, ↵bors-53/+65
r=Mark-Simulacrum Fuchsia CI zircon lib improvement Removing Zircon build process, instead pulling `sysroot` and related libs directly from Fuchsia SDK cc. `@tmandry` `@djkoloski`
2022-08-07Shifting CI to pull Zircon libraries directly from Fuchsia SDKAndrew Pollack-53/+65
PR feedback PR Followups Updating clang download Updating clang download Restructuring env used Restructuring env used Adding chmod Adding chmod Adding chmod
2022-08-04Link /rustroot/lib stuff for clang -m32 to seeJosh Stone-0/+5
2022-08-04Downgrade dist-powerpc-linux binutils to 2.30Josh Stone-20/+5
With binutils 2.32, we were getting errors like this: relocation truncated to fit: R_PPC_PLTREL24 against symbol `__cxa_atexit@@GLIBC_2.1.3' defined in .plt section in /x-tools/powerpc-unknown-linux-gnu/powerpc-unknown-linux-gnu/sysroot/usr/lib/crt1.o but it builds okay with binutils 2.30.
2022-08-03Clarify the comment about CentOS 7's kernel versionJosh Stone-2/+6
2022-08-03Increase the minimum linux-gnu versionsJosh Stone-1475/+1619
This is implementing the MCP from rust-lang/compiler-team#493. It is increasing the minimum requirements of a couple Tier 1 targets, and others at lower tiers, so this should go through FCP sign-offs for both `T-compiler` and `T-release`. The new `linux-gnu` baseline is kernel 3.2 and glibc 2.17. We will also take that kernel as the minimum floor for _all_ `*-linux-*` targets, so it may be broadly assumed in the implementation of the standard library. That does not preclude specific targets from having greater requirements where it makes sense, like a new arch needing something newer, or a platform like `linux-android` choosing a newer baseline.
2022-07-31Auto merge of #99529 - Milo123459:stage-1-test, r=jyn514bors-0/+44
Run `x test --stage 1` in CI Fixes #99135 r? `@jyn514`
2022-07-28bump rustc-perf commitJane Losare-Lusby-2/+2
2022-07-24Revert "Revert "Use ICF (identical code folding) for building rustc""Jubilee Young-1/+2
This reverts commit rust-lang/rust@45575d23f316af7476ccd0a895234ac59c47a6be, thereby enabling identical code folding again.
2022-07-20skip some testsMilo-10/+1
2022-07-20test stage-1 in ciMilo-0/+53
2022-07-18Revert "Use ICF (identical code folding) for building rustc"Jakub Beránek-2/+1
2022-07-18check REUSE compliance in CIPietro Albini-0/+176
2022-07-17Use LLD linker for compiling rustc on Linux x64 and use ICF for binary size ↵Jakub Beránek-1/+2
optimization
2022-07-17Auto merge of #99040 - gimbles:ci-std-tests, r=pietroalbinibors-0/+1
Run stage 0 std tests in CI Fixes https://github.com/rust-lang/rust/issues/95996
2022-07-11Auto merge of #96978 - lqd:win_pgo2, r=Mark-Simulacrumbors-1/+1
Utilize PGO for windows x64 rustc dist builds This PR adds PGO support for the CI x64 windows dist builds. These are the results from running the rustc-perf benchmarks: ![image](https://user-images.githubusercontent.com/247183/177662869-683a8034-7c95-42bf-9900-9ffd66677fcf.png) Thanks to `@Kobzol,` `@michaelwoerister,` `@wesleywiser,` `@Mark-Simulacrum` for their precious help.
2022-07-11bump CI LLVM to 14.0.5Rémy Rakic-1/+1
The version 14.0.2 we currently use is busted on windows at the very least.
2022-07-11Auto merge of #98369 - jyn514:configure.py, r=Mark-Simulacrumbors-2/+1
Remove unsupported options in configure.py I've seen people using `optimize = false` and `full-bootstrap = true` in the past, without knowing that they're not recommended. Remove `optimize` and a few other options that are always a bad idea, and document that full-bootstrap is only for testing reproducible builds.
2022-07-10Remove unsupported options in configure.pyJoshua Nelson-2/+1
I've seen people using `optimize = false` and `full-bootstrap = true` in the past, without knowing that they're not recommended. Remove `optimize` and a few other options that are always a bad idea, and document that full-bootstrap is only for testing reproducible builds.
2022-07-08Update src/ci/docker/host-x86_64/mingw-check/DockerfileGimgim-1/+1
Co-authored-by: Joshua Nelson <github@jyn.dev>
2022-07-08Run std tests in CIGimgim-0/+1
2022-07-03Auto merge of #98439 - ehuss:cleanup-ci-script, r=Mark-Simulacrumbors-12/+0
Clean up submodule checkout scripts This is just some small cleanup: * Removed unused CACHE_DIR stuff * Removed duplicate fetch_github_commit_archive function which is no longer used * Combined init_repo.sh and checkout-submodules.sh, as checkout-submodules.sh was doing nothing but calling init_repo.sh
2022-06-29Update browser-ui-test version to 0.9.7Guillaume Gomez-1/+1
2022-06-23Remove duplicated fetch_github_commit_archive in CI scripts.Eric Huss-12/+0
The code using `fetch_github_commit_archive` was removed in #72937.
2022-06-23Update browser-ui-test version to 0.9.6Guillaume Gomez-1/+1
This update provides a better error message when chromium crashes
2022-06-10Update FreeBSD toolchain to 12.3Nikita Popov-10/+10
2022-05-26Rollup merge of #97317 - GuillaumeGomez:gui-settings-text-click, r=jshaGuillaume Gomez-1/+1
Allow to click on setting text You can test it [here](https://rustdoc.crud.net/imperio/gui-settings-text-click/doc/foo/index.html). This PR allows to click on the text alongside the toggle to change it. r? `@jsha`
2022-05-24Update browser-ui-test version to 0.9.5Guillaume Gomez-1/+1
2022-05-23Add bitmaps and diesel to `rustc` PGO benchmarksJakub Beránek-2/+2