about summary refs log tree commit diff
path: root/src/ci/docker
AgeCommit message (Collapse)AuthorLines
2023-02-14Rollup merge of #107573 - cuviper:drop-llvm-13, r=nagisaMatthias Krüger-77/+8
Update the minimum external LLVM to 14 With this change, we'll have stable support for LLVM 14 through 16 (pending release). For reference, the previous increase to LLVM 13 was #100460.
2023-02-12Update browser-ui-test version to 0.14.3Guillaume Gomez-1/+1
2023-02-10Update the minimum external LLVM to 14Josh Stone-77/+8
2023-02-02Use triple rather than arch for fuchsia test runnerJoseph Ryan-28/+23
2023-01-29Auto merge of #103019 - Kobzol:ci-multistage-python, r=Mark-Simulacrumbors-1/+1
Port pgo.sh to Python This PR ports the `pgo.sh` multi stage build file from bash to Python, to make it easier to add new functionality and gather statistics. Main changes: 1) `pgo.sh` rewritten from Bash to Python. Jump from ~200 Bash LOC to ~650 Python LOC. Bash is, unsurprisingly, more concise for running scripts and binaries. 2) Better logging. Each separate stage is now clearly separated in logs, and the logs can be quickly grepped to find out which stage has completed or failed, and how long it took. 3) Better statistics. At the end of the run, there is now a table that shows the duration of the individual stages, along with a percentual ratio of the total workflow run: ``` 2023-01-15T18:13:49.9896916Z stage-build INFO: Timer results 2023-01-15T18:13:49.9902185Z --------------------------------------------------------- 2023-01-15T18:13:49.9902605Z Build rustc (LLVM PGO): 1815.67s (21.47%) 2023-01-15T18:13:49.9902949Z Gather profiles (LLVM PGO): 418.73s ( 4.95%) 2023-01-15T18:13:49.9903269Z Build rustc (rustc PGO): 584.46s ( 6.91%) 2023-01-15T18:13:49.9903835Z Gather profiles (rustc PGO): 806.32s ( 9.53%) 2023-01-15T18:13:49.9904154Z Build rustc (LLVM BOLT): 1662.92s (19.66%) 2023-01-15T18:13:49.9904464Z Gather profiles (LLVM BOLT): 715.18s ( 8.46%) 2023-01-15T18:13:49.9914463Z Final build: 2454.00s (29.02%) 2023-01-15T18:13:49.9914798Z Total duration: 8457.27s 2023-01-15T18:13:49.9915305Z --------------------------------------------------------- ``` A sample run can be seen [here](https://github.com/rust-lang/rust/actions/runs/3923980164/jobs/6707932029). I tried to keep the code compatible with Python 3.6 and don't use dependencies, which required me to reimplement some small pieces of functionality (like formatting bytes). I suppose that it shouldn't be so hard to upgrade to a newer Python or install dependencies in the CI container, but I'd like to avoid it if it won't be needed. The code is in a single file `stage-build.py`, so it's a bit cluttered. I can also separate it into multiple files, although having it in a single file has some benefits. The code could definitely be nicer, but I'm a bit wary of introducing a lot of abstraction and similar stuff, as long as the code is stuffed into a single file. Currently, the Python pipeline should faithfully mirror the bash pipeline one by one. After this PR, I'd like to try to optimize it, e.g. by caching the LLVM builds on S3. r? `@Mark-Simulacrum`
2023-01-29Rollup merge of #96763 - Abdur-rahmaanJ:patch-1, r=Mark-SimulacrumMatthias Krüger-6/+0
Fix maintainer validation message State clearly why maintainer verification is not activating, ruling out the user thinking they misconfigured something.
2023-01-24Port pgo.sh to PythonJakub Beránek-1/+1
2023-01-23Auto merge of #107044 - cuviper:more-llvm-ci, r=Mark-Simulacrumbors-0/+134
ci: add runners for vanilla LLVM 14 and 15 As discussed in [zulip #t-infra][1] -- r? Mark-Simulacrum [1]: https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/testing.20multiple.20llvm.20versions
2023-01-22fix maintainer validation messageAbdur-Rahmaan Janhangeer-6/+0
fix remove token check for maintainers fix: rm validate_maintainers function
2023-01-22Rollup merge of #107127 - uweigand:s390x-sanitizer, r=Mark-SimulacrumMatthias Krüger-1/+1
Enable sanitizers for s390x-linux Include sanitizers supported by LLVM on s390x (asan, lsan, msan, tsan) in the target definition, as well as in the compiletest supported list. Build sanitizer runtime for the target. Enable sanitizers in the CI.
2023-01-21Auto merge of #106948 - cuviper:ci-mingw-check, r=nikicbors-145/+72
ci: upgrade mingw-check to ubuntu:22.04
2023-01-20Specify version of Linux headersWesley Wiser-2/+3
2023-01-20Bump musl-cross-make to get support for building musl 1.2.3Wesley Wiser-2/+2
2023-01-20Upgrade to musl 1.2.3Wesley Wiser-15/+5
2023-01-20Enable sanitizers for s390x-linuxUlrich Weigand-1/+1
Include sanitizers supported by LLVM on s390x (asan, lsan, msan, tsan) in the target definition, as well as in the compiletest supported list. Build sanitizer runtime for the target. Enable sanitizers in the CI.
2023-01-18Auto merge of #105716 - chriswailes:ndk-update-redux, r=pietroalbinibors-38/+13
Ndk update redux Blocked on https://github.com/rust-lang/blog.rust-lang.org/pull/1055
2023-01-18ci: add runners for vanilla LLVM 14 and 15Josh Stone-0/+134
2023-01-16ci: upgrade mingw-check to ubuntu:22.04Josh Stone-145/+72
2023-01-14Rollup merge of #106644 - alexcrichton:update-wasi-toolchain, r=cuviperMatthias Krüger-1/+1
Update the wasi-libc used for the wasm32-wasi target This commit updates the wasi-libc revision used to build with the wasm32-wasi target. This notably pulls in WebAssembly/wasi-libc#377 which is needed to fix a use case I've been working on recently. This should be a relatively small update hopefully and is not expected to have any user impact.
2023-01-14Rollup merge of #106670 - albertlarsan68:check-docs-in-pr-ci, r=Mark-SimulacrumYuki Okushi-0/+1
Check compiler docs in PR CI Fixes #106624
2023-01-13Update the wasi-libc used for the wasm32-wasi targetAlex Crichton-1/+1
This commit updates the wasi-libc revision used to build with the wasm32-wasi target. This notably pulls in WebAssembly/wasi-libc#377 which is needed to fix a use case I've been working on recently. This should be a relatively small update hopefully and is not expected to have any user impact.
2023-01-12Auto merge of #106711 - albertlarsan68:use-ci-llvm-when-lld, r=jyn514bors-4/+0
Use CI LLVM in `test-various` builder It was disabled because it needs `lld`, but since #104748 was merged it is no longer needed. This will speed this test, since it no longer needs to build LLVM.
2023-01-11Change `src/test` to `tests` in source files, fix tidy and testsAlbert Larsan-14/+14
2023-01-11Use CI LLVM in `test-various` builderAlbert Larsan-4/+0
It was disabled because it needs lld, but since 104748 was merged it is no longer needed.
2023-01-10Check compiler docs in PR CIAlbert Larsan-0/+1
2023-01-06Update browser-ui-test versionGuillaume Gomez-1/+1
2023-01-05Add vendor to Fuchsia's target tripleDavid Koloski-23/+23
Historically, Rust's Fuchsia targets have been labeled x86_64-fuchsia and aarch64-fuchsia. However, they should technically contain vendor information. This CL changes Fuchsia's target triples to include the "unknown" vendor since Clang now does normalization and handles all triple spellings. This was previously attempted in #90510, which was closed due to inactivity.
2023-01-01Cleanup `mingw-tidy` docker jobJoshua Nelson-1/+0
- Avoid `/checkout/src/ci/run.sh: line 187: [: =: unary operator expected`: https://github.com/rust-lang/rust/actions/runs/3809902408/jobs/6481611301#step:26:1701 - Avoid running `x check` in the tidy test, to get faster feedback. It's already run on the normal `mingw-check` job.
2022-12-31Run `cargo test` on tidy itself.Eric Huss-1/+1
2022-12-22Run `tidy` in its own job in PR CIDeadbeef-1/+36
This duplicates mingw-check into two jobs where one job runs `tidy` only while the other job does not. The tidy job will not cancel other jobs on failure.
2022-12-18Rollup merge of #105863 - GuillaumeGomez:update-browser-ui-test, r=notriddleMatthias Krüger-1/+1
Update browser-ui-test version to reduce GUI tests flakyness Part of https://github.com/rust-lang/rust/issues/93784. r? `@notriddle`
2022-12-18Update browser-ui-test version to reduce GUI tests flakynessGuillaume Gomez-1/+1
2022-12-18Auto merge of #105714 - jyn514:tidy-first, r=Mark-Simulacrumbors-1/+1
Run `x test tidy` sooner in mingw-check It takes less time to run than the other tests and is more likely to fail. `expand-yaml-anchors` is still run first to make sure the CI files are internally consistent. Note that changing to `--stage 0` doesn't actually do anything since bootstrap tools are always built with the bootstrap compiler, this just makes it less confusing. cc https://github.com/rust-lang/rust/pull/105058/commits/83bab41b5b2d4752d187dd91b05c88ac74cf3783
2022-12-16Test documentation of hidden items in stdChris Denton-1/+1
2022-12-14Update CI to use Android NDK r25bChris Wailes-38/+13
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-12-14Run `x test tidy` sooner in mingw-checkJoshua Nelson-1/+1
It takes less time to run than the other tests and is more likely to fail. `expand-yaml-anchors` is still run first to make sure the CI files are internally consistent.
2022-12-13Adjust log line in `fuchsia-test-runner.py`Andrew Pollack-1/+1
* Adjusting log line in `fuchsia-test-runner.py` to refer to self
2022-12-09Rollup merge of #105389 - ogarokpeter:patch-1, r=Mark-SimulacrumMatthias Krüger-1/+1
Enable profiler in dist-powerpc64le-linux Build the profiler runtime to allow using -C profile-generate and -C instrument-coverage on POWER little endian systems. I have verified locally that the runtime builds and the profiler is working fine on the platform. Similar pull request for a different system: https://github.com/rust-lang/rust/pull/104304
2022-12-07CI: add missing line continuation markerDan Johnson-2/+2
Resolves this docker warning: ``` [WARNING]: Empty continuation line found in: RUN apt-get update && apt-get install -y --no-install-recommends g++ gcc-multilib make ninja-build file curl ca-certificates python2.7 python3.9 git cmake sudo gdb llvm-13-tools llvm-13-dev libedit-dev libssl-dev pkg-config zlib1g-dev xz-utils nodejs apt-transport-https software-properties-common && curl -s "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb" > packages-microsoft-prod.deb && dpkg -i packages-microsoft-prod.deb && apt-get update && apt-get install -y powershell && rm -rf /var/lib/apt/lists/* Warning: : Empty continuation lines will become errors in a future release. ```
2022-12-06Update the wasi toolchain.Dan Gohman-4/+4
Update the WASI build to LLVM 15.0 and the wasi-libc version from [wasi-sdk-17]. This will require a ci-mirrors.rust-lang.org file load. Specifically, we need [this LLVM release tarball] uploaded to be downloadable from [this URL]. [this LLVM release tarball]: https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.6/clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz [this URL]: https://ci-mirrors.rust-lang.org/rustc/2022-12-06-clang%2Bllvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz [wasi-sdk-17]: https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-17
2022-12-06Enable profiler in dist-powerpc64le-linuxPetr Ogarok-1/+1
Build the profiler runtime to allow using -C profile-generate and -C instrument-coverage on POWER systems. I have verified locally that the runtime builds and the profiler is working fine on the platform.
2022-12-05Auto merge of #105328 - matthiaskrgr:rollup-qnfksmq, r=matthiaskrgrbors-1/+1
Rollup of 8 pull requests Successful merges: - #104912 (PartialEq: PERs are homogeneous) - #104952 (Streamline the user experience for `x.py setup`) - #104953 (Ensure required submodules at the same time as updating existing submodules) - #105180 (Use proper HirId for async track_caller attribute check) - #105222 (std update libc version and freebsd image build dependencies) - #105223 (suggest parenthesis around ExprWithBlock BinOp ExprWithBlock) - #105230 (Skip recording resolution for duplicated generic params.) - #105301 (update Miri) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-12-03std update libc version and freebsd image build dependenciesDavid CARLIER-1/+1
2022-12-02reduce docker image sizes by cleaning cache/squashing stepsklensy-27/+43
2022-11-29Auto merge of #105041 - matthiaskrgr:rollup-7ffry90, r=matthiaskrgrbors-0/+0
Rollup of 10 pull requests Successful merges: - #104465 (Document more settings for building rustc for Fuchsia) - #104951 (Simplify checking for `GeneratorKind::Async`) - #104959 (Revert #104269 (to avoid spurious hang/test failure in CI)) - #104978 (notify the rust-analyzer team on changes to the rust-analyzer subtree) - #105010 (Fix documentation of asymptotic complexity for rustc_data_structures::SortedMap) - #105016 (Add sentence when rustdoc search is running) - #105020 (rustdoc: merge background-image rules in rustdoc-toggle CSS) - #105024 (rustdoc: remove `fnname` CSS class that's styled exactly like `fn`) - #105027 (Rustdoc-Json: Add tests for linking to foreign variants.) - #105038 (Clean up pr 104954) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2022-11-29Rollup merge of #104465 - djkoloski:improve_fuchsia_testing_docs, r=tmandryMatthias Krüger-0/+0
Document more settings for building rustc for Fuchsia This documents that you need to link for Fuchsia with `lld` and provides configuration settings for both `clang` and `lld`. It also adjusts the documentation for running the test suite to recommend installing to a prefix. r? ``@tmandry``
2022-11-28test-various: Add tests for {i686,aarch64}-unknown-uefiNicholas Bishop-17/+74
This extends the existing test for x86_64-unknown-uefi to test the other two UEFI targets as well.
2022-11-26Auto merge of #104431 - alistair23:alistair/rv64-profiler, r=Mark-Simulacrumbors-1/+1
Enable profiler in dist-riscv64-linux Build the profiler runtime to allow using -C profile-generate and -C instrument-coverage on riscv64-linux. Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2022-11-22Rollup merge of #104622 - nicholasbishop:bishop-uefi-clang, r=Mark-SimulacrumManish Goregaokar-1/+10
Use clang for the UEFI targets This fixes an issue where the C and asm sources built by compiler_builtins were being compiled as ELF objects instead of PE objects. This wasn't noticed before because it doesn't cause compiler_builtins or rustc to fail to build. You only see a failure when a program is built that references one of the symbols in an ELF object. Compiling with clang fixes this because the cc crate converts the UEFI targets into Windows targets that clang understands, causing it to produce PE objects. Also update compiler_builtins to 0.1.84 to pull in some necessary fixes for compiling the UEFI targets with clang. Fixes https://github.com/rust-lang/rust/issues/104326
2022-11-20test-various: Use clang for the UEFI testNicholas Bishop-1/+4
This syncs it with how the UEFI targets are built in dist-various-2.