about summary refs log tree commit diff
path: root/src/ci/run.sh
AgeCommit message (Collapse)AuthorLines
2023-11-30Fix cg_gcc CI runGuillaume Gomez-0/+8
2023-11-11merge `if-available` and `if-unchanged` for `download-ci-llvm`onur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-06Auto merge of #117435 - SparrowLii:nightly_parallel, r=oli-obk,davidtwcobors-2/+2
enable parallel rustc front end in nightly builds Refers to the [MCP](https://github.com/rust-lang/compiler-team/issues/681), this pr does: 1. Enable the parallel front end in nightly builds, and keep the default number of threads as 1. Then users can use the parallel rustc front end via -Z threads=n option. 2. Set it up to serial front end for beta/stable builds via bootstrap. 3. Switch over the alt builders from parallel rustc to serial, so we have artifacts without parallel to test against the artifacts with parallel. r? `@oli-obk` cc `@cjgillot` `@nnethercote` `@bjorn3` `@Kobzol`
2023-11-02Add comment explaining why the ENABLE_GCC_CODEGEN env variable is neededGuillaume Gomez-2/+4
2023-11-02Fix invalid enabling of gcc backend in `run.sh`Guillaume Gomez-2/+2
2023-11-02Rename `SKIP_CODEGEN_TESTS` into `ENABLE_GCC_CODEGEN`Guillaume Gomez-1/+1
2023-11-02Don't include GCC backend if SKIP_CODEGEN_TESTS is not enabledGuillaume Gomez-2/+7
2023-11-02Run rustc_codegen_gcc tests in the CIGuillaume Gomez-1/+1
2023-10-31enable parallel rustc in nightly buildsSparrowLii-2/+2
2023-10-27Explicitly mark which targets to distribute cg_clif for in CIbjorn3-2/+4
This avoids needlessly building cg_clif for other targets and makes it easier for the dist code to determine if it should distribute cg_clif as component.
2023-10-27Fix review commentsbjorn3-3/+2
2023-10-27Distribute cg_clif as a rustup componentbjorn3-1/+2
2023-10-05Enable new bors try branch to run on CIJakub Beránek-1/+2
2023-09-10Allow testing cg_clif using ./x.py testbjorn3-0/+3
2023-08-07Rollup merge of #114573 - Kobzol:ci-no-group-on-error, r=oli-obkMatthias Krüger-2/+14
CI: do not hide error logs in a group This PR avoids creating a GHA group at the very end of a CI workflow when some failure has happened. Before, when a failure has happened, its GHA group was not closed, however the clock drift check function would create a new group, which would actually close the group containing the error log, thus making errors hidden by default, which is not ideal. See discussion here: https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/GHA.20groups.20being.20closed.20on.20failures r? bootstrap
2023-08-07Do not hide CI error logs in a group when a failure happensJakub Beránek-2/+14
2023-08-07Auto merge of #114206 - sethp:patch-1, r=Mark-Simulacrumbors-1/+1
fix(ci): Ensure idempotence of user creation Previously, re-running `run.sh` in the same container would fail at the useradd step, because the user already exists. Instead, change that step to "create if not exists" semantics to ease interactive debugging of CI failures. Split out from https://github.com/rust-lang/rust/pull/111891 per request by `@jackh726`
2023-08-02Add more context to `quit_if_file_exists` in `configure.py`Trevor Gross-0/+3
Currently, having a dirty `obj/` directory is sufficient to abort CI tests. This results in errors like the following: ``` ... == end clock drift check == sccache: Starting the server... configure: error: Existing 'config.toml' detected. == clock drift check == ... ``` This is subtle and doesn't give a good idea as to what causes the issue. With this patch, the error becomes more prominent and a resolution is suggested: ``` == end clock drift check == sccache: Starting the server... configure: ERROR: Existing 'config.toml' detected. Exiting Is objdir '/home/tmgross/projects/rust/obj' clean? == clock drift check == ```
2023-07-31fix: lookup user by name, not idsethp-1/+1
Previously, the `id -u $LOCAL_USER_ID` check would succeed, because there was already a user mapped to the $LOCAL_USER_ID with a different name. Looking up the entry in the database by name, however, correctly makes the `useradd` operation idempotent. An alternative fix would be to avoid duplicating an already-existing-ID, however that would require either probing for an available ID or identifying where LOCAL_USER_ID is being set and changing it to better match the ubuntu base image, neither of which is a one-line change.
2023-07-29fix(ci): Ensure idempotence of user creationsethp-1/+1
Previously, re-running `run.sh` in the same container would fail at the useradd step, because the user already exists. Instead, change that step to "create if not exists" semantics to ease interactive debugging of CI failures. Split out from https://github.com/rust-lang/rust/pull/111891 per request by @jackh726
2023-07-14Add even more GHA log groupsjyn-2/+6
This also adds a dynamic check that we don't emit nested groups, since GHA currently doesn't support them.
2023-06-19Print what is being executed on CIJakub Beránek-0/+1
This makes it easier to grep for executed commands in CI logs
2023-06-03disable truncation in CIjyn-0/+1
2023-04-25Auto merge of #110232 - Amanieu:old-llvm-components, r=petrochenkovbors-1/+5
Allow older LLVM versions to have missing components This check was introduced by #77280 to ensure that all tests that are filtered by LLVM component are actually tested in CI. However this causes issues for new targets (e.g. #101069) where support is only available on the latest LLVM version. This PR restricts the tests to only CI jobs that use the latest LLVM version.
2023-04-12Allow older LLVM versions to have missing componentsAmanieu d'Antras-1/+5
This check was introduced by #77280 to ensure that all tests that are filtered by LLVM component are actually tested in CI. However this causes issues for new targets (e.g. #101069) where support is only available on the latest LLVM version. This PR restricts the tests to only CI jobs that use the latest LLVM version.
2023-04-03Remove optimal xz settings from CIMark Rousskov-1/+6
This is a companion PR to rust-lang/promote-release#58, which moves the relevant optimal code to rust-lang/promote-release. As mentioned in the comments of that PR, this is expected to cut CI costs (and time, though predominantly felt on fast builders) and reduce wasted resources due to in-practice single-threaded compression not using the full 8+ vCPU builders we have available.
2023-03-26Limit to one job on mingw buildersNikita Popov-1/+1
This is another attempt to work around https://github.com/rust-lang/rust/issues/108227. By limiting to one link job, we should be able to avoid file name clashes in mkstemp().
2023-03-22Auto merge of #109073 - michaelwoerister:limit-mingw-llvm-link-jobs, ↵bors-0/+8
r=Mark-Simulacrum Limit the number of parallel link jobs during LLVM build for mingw. This PR is an attempt to unblock https://github.com/rust-lang/rust/pull/108355, which keeps failing while trying to link various LLVM artifacts on mingw runners. It looks like doing too many linking jobs might put too much load on the system? (Although I don't understand why the jobs are only failing for #108355 while they seem to pass for others) r? infra-ci
2023-03-20Limited the number of parallel link jobs during LLVM build for mingw.Michael Woerister-0/+8
This is an attempt to fix the spurious build error tracked by https://github.com/rust-lang/rust/issues/108227.
2023-03-14use the best compression profile in CIPietro Albini-0/+1
2023-01-31Enable Cargo's sparse protocol in CIEric Huss-0/+2
2023-01-01Cleanup `mingw-tidy` docker jobJoshua Nelson-2/+2
- 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-26readme: update section on how to run x.pyKaDiWa-9/+1
2022-12-17Make `RUN_CHECK_WITH_PARALLEL_QUERIES` the last thing to runJoshua Nelson-7/+18
This takes a long time and rarely fails. It also interferes with `retry make prepare`, the retry is unhelpful since `make prepare` turns into a no-op
2022-11-10Avoid runtime dependency on static libstdc++kubycsolutions-0/+4
Usually, we do want to use the static C++ library when building rustc_llvm, but do not want to have that dependency at compiler runtime. Change the defaults to Make It So.
2022-10-29Revert "Make the `c` feature for `compiler-builtins` opt-in instead of inferred"Mark Rousskov-5/+0
This reverts commit 3acb505ee560770c62bad5362f6caf7567d467b9 (PR #101833). The changes in this commit caused several bugs or at least incompatibilies. For now we're reverting this commit and will re-land it alongside fixes for those bugs.
2022-09-28Make the `c` feature for `compiler-builtins` opt-in instead of inferredJoshua Nelson-0/+5
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-08-20Add global safe.directory for CIMark Rousskov-0/+10
2022-08-20Enable downloading prebuilt LLVM in test buildersMark Rousskov-0/+12
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-07-31Allow try-perf branch to run in CIRyan Levick-1/+1
2022-07-10Remove unsupported options in configure.pyJoshua Nelson-1/+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-06-05Auto merge of #93717 - pietroalbini:pa-ci-profiler, r=Mark-Simulacrumbors-0/+1
Add build metrics to rustbuild This PR adds a new module of rustbuild, `ci_profiler`, whose job is to gather as much information as possible about the CI build as possible and store it in a JSON file uploaded to `ci-artifacts`. Right now for each step it collects: * Type name and debug representation of the `Step` object. * Duration of the step (excluding child steps). * Systemwide CPU stats for the duration of the step (both single core and all cores). * Which child steps were executed. This is capable of replacing both the scripts to collect CPU stats and the `[TIMING]` lines in build logs (not yet removed, until we port our tooling to use the CI profiler). The format is also extensible to be able in the future to collect more information. r? `@Mark-Simulacrum`
2022-05-07Move check-bootstrap from a makefile rule to test::Bootstrapgimbles-2/+0
2022-05-02enable build.metrics on CIPietro Albini-0/+1
2021-11-15Use a different server for checking clock driftMark Rousskov-1/+1
The detectportal.firefox.com server seems to return a random-ish date; for example I see the following across 5 curl's done consecutively locally, where the real date is approximaly 15 Nov 2021 06:36 UTC. Date: Mon, 15 Nov 2021 13:34:53 GMT Date: Mon, 15 Nov 2021 12:20:21 GMT Date: Mon, 15 Nov 2021 00:06:47 GMT Date: Mon, 15 Nov 2021 17:14:33 GMT Date: Mon, 15 Nov 2021 13:33:21 GMT
2021-10-24Rollup merge of #90100 - Mark-Simulacrum:speed-macos-ci, r=pietroalbiniMatthias Krüger-1/+1
Skip documentation for tier 2 targets on dist-x86_64-apple-darwin I don't have an easy way to test this locally, but I believe it should work. Based on one log result should shave ~14 minutes off the dist-x86_64-apple builder (doesn't help with aarch64 dist or x86_64 test builder, so not actually decreasing total CI time most likely). r? ```@pietroalbini```
2021-10-21Print step timings for try buildsMark Rousskov-1/+1
2021-10-21CI: Enable overflow checks for test (non-dist) buildsHans Kratz-0/+5
2021-06-20Fix CI to fetch master on beta channelMark Rousskov-5/+1
2021-06-07add the x86_64-gnu-stable job to test with stable channelPietro Albini-1/+5
During the 1.52 release process we had to deal with some commits that passed the test suite on the nightly branch but failed on the beta or stable branch. In that case it was due to some UI tests including the channel name in the output, but other changes might also be dependent on the channel. This commit adds a new CI job that runs the Linux x86_64 test suite with the stable branch, ensuring nightly changes also work as stable.