about summary refs log tree commit diff
path: root/src/ci/docker/host-x86_64
AgeCommit message (Collapse)AuthorLines
2023-03-22Update dist-x86_64-linux to GCC 8.5Nikita Popov-1/+1
While we don't use GCC for the LLVM build, we do use its libstdc++, and there has been an std::optional ABI break in this version. This makes the libLLVM.so for LLVM 16 ABI-incompatible with newer libstdc++ versions, which we use on all other builders, and which download-ci-llvm users are likely to use.
2023-03-20Update browser-ui-test version to 0.14.5Guillaume Gomez-1/+1
2023-03-20Rollup merge of #109267 - jyn514:test-configure, r=Mark-SimulacrumMatthias Krüger-4/+5
Add tests for configure.py I highly recommend reviewing this with whitespace disabled. Notably, verifying that we generate valid toml relies on python 3.11 so we can use `tomllib`, so this also switches`x86_64-gnu-llvm-14` (one of the PR builders) to use 3.11. While fixing that, I noticed that we stopped testing python2.7 support on PR CI in https://github.com/rust-lang/rust/pull/106085. `@fee1-dead` `@pietroalbini` please be more careful in the future, there is no CI for CI itself that verifies we are testing everything we should be. - Separate out functions so that each unit test doesn't create a file on disk - Add a few unit tests
2023-03-18Auto merge of #108802 - nikic:bolt-update, r=Mark-Simulacrumbors-1/+1
Update host compiler to LLVM 16 Update the host compiler for dist-x86_64-linux to LLVM 16. In particular, this pulls in https://github.com/llvm/llvm-project/commit/1de305da428598d79b7d2d9e70962130142f7ca4, which is needed to update Rust's own LLVM (https://github.com/rust-lang/rust/pull/107224).
2023-03-17Use python3.11 in CI to make sure toml is validatedJoshua Nelson-4/+5
This also fixes a regression from https://github.com/rust-lang/rust/pull/106085 which stopped testing that we support python2 in PR CI.
2023-03-15Bump to latest rustc-perfMark Rousskov-2/+2
This removes a dependency on ntapi 0.3.x which failed to compiled with latest beta. rust-lang/rustc-perf@93dc60d995a57c3cab8d7fb90a6fc7f9f7c5cd0f removed that dependency in the upstream rustc-perf.
2023-03-15Add RANLIB_x86_64_unknown_illumos env for dist-x86_64-illumos dockerfilehi-rustin-4/+5
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-03-12Add rustdoc-gui eslint check into CIGuillaume Gomez-1/+2
2023-03-11Add rustdoc-js eslint check into CIGuillaume Gomez-1/+2
2023-03-11Update host compiler to LLVM 16Nikita Popov-1/+1
This updates the host compiler for dist-x86_64-linux to LLVM 16, pulling in the BOLT fix at https://github.com/llvm/llvm-project/commit/1de305da428598d79b7d2d9e70962130142f7ca4, which is needed to update Rust to LLVM 16.
2023-03-10Rollup merge of #106085 - fee1-dead-contrib:tidy-ci-matchers, r=pietroalbiniMatthias Krüger-3/+1
use problem matchers for tidy CI
2023-03-09ci: use `apt install --download-only` for solaris debsJosh Stone-6/+4
2023-03-06do not run tidy on x86_64-gnu-llvm-13Deadbeef-3/+1
2023-02-25Rollup merge of #105736 - chenyukang:yukang/add-mir-opt-level-testing, r=jyn514Michael Goulet-1/+3
Test that the compiler/library builds with validate-mir Fixes #105706
2023-02-25check is default to all targets nowyukang-2/+2
2023-02-24enable validate-mir-opts in mingw-checkyukang-1/+3
2023-02-23Update browser-ui-test versionGuillaume Gomez-1/+1
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-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-20Upgrade to musl 1.2.3Wesley Wiser-3/+0
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-18/+11
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-20/+20
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-18/+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-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.