1569 Commits

Author SHA1 Message Date
Jakub Beránek
41f9f63de6
Use `--keep-stage also for the final build 2023-06-07 14:16:28 +02:00
Jakub Beránek
14ed9fa01c
Avoid one rustc rebuild in the optimized build pipeline 2023-06-07 10:58:45 +02:00
bors
7b28a6b08a Auto merge of #111495 - Kobzol:dist-tests, r=Mark-Simulacrum
Run tests on PGO/LTO/BOLT optimized dist artifacts

This PR adds baisc tests for the optimized dist builds on x64 Linux and Windows. A subset of the test suite is run, so it's not perfect, but it's better than the status quo (which is basically no testing at all, apart from the perf bot on Linux).

r? `@ghost`
2023-06-07 00:14:06 +00:00
Jakub Beránek
c91a3a4d0c
Test the PGO/BOLT/LTO optimized x64 Linux compiler on CI 2023-06-05 21:54:52 +02:00
bors
101fa903bb Auto merge of #112282 - matthiaskrgr:rollup-1g9w02p, r=matthiaskrgr
Rollup of 3 pull requests

Successful merges:

 - #112247 (rust-lld: add rpath entry to the correct `lib` folder)
 - #112274 (Migrate GUI colors test to original CSS color format)
 - #112277 (Don't require the output from libtest to be valid UTF-8)

Failed merges:

 - #112251 (rustdoc: convert `if let Some()` that always matches to variable)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-06-04 19:38:09 +00:00
bors
dc25fbe984 Auto merge of #112176 - jyn514:ci-debugging, r=clubby789
Print the full arguments passed to `./configure` in CI

This is useful to replicate CI failures locally. Before, the arguments would be truncated and it would be hard to tell what it was actually doing.

Before:
```
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--save-t ...
```

After:
```
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--save-toolstates=/tmp/toolstate/toolstates.json', '--enable-verbose', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--disable-dist-src', '--set', 'rust.download-rustc=if-unchanged', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'llvm.download-ci-llvm=if-available', '--enable-missing-tools']
```
2023-06-04 16:41:37 +00:00
Guillaume Gomez
100db9946b Update browser-ui-test version 2023-06-04 15:50:42 +02:00
jyn
42a9898fd1 disable truncation in CI 2023-06-03 11:29:56 -05:00
bors
d59363ad0b Auto merge of #111660 - Kobzol:try-build-skip-docs, r=mark-simulacrum
Do not build docs in try builds

This PR adds a new environment variable to the optimized build Python script, which causes it to ignore certain parts of the final `dist` build (mainly docs) in try builds. This reduces the duration of try builds by ~10 minutes.
2023-06-01 20:44:23 +00:00
Jakub Beránek
db113b1c2b
Do not build components unneeded for perf bot in try builds 2023-06-01 08:29:19 +02:00
bors
23f93a1266 Auto merge of #103877 - oli-obk:const_eval_step_limit, r=fee1-dead
Replace const eval limit by a lint and add an exponential backoff warning

The lint triggers at the first power of 2 that comes after 1 million function calls or traversed back-edges (takes less than a second on usual programs). After the first emission, an unsilenceable warning is repeated at every following power of 2 terminators, causing it to get reported less and less the longer the evaluation runs.

cc `@rust-lang/wg-const-eval`

fixes #93481
closes #67217
2023-06-01 05:32:00 +00:00
Oli Scherer
05eae08233 Remove const eval limit and implement an exponential backoff lint instead 2023-05-31 10:24:17 +00:00
Weihang Lo
5abff3753a
Explicit set workspace.resolver = "1"
rust-lang/cargo#10910 starts emitting warning if resolver is not set
for 2021 edition package. We want to surpress the warning for now.
2023-05-31 00:08:11 +01:00
Nilstrieb
f4b20dac81
Rollup merge of #112064 - GuillaumeGomez:migrate-gui-test-color-9, r=notriddle
Migrate GUI colors test to original CSS color format

Follow-up of https://github.com/rust-lang/rust/pull/111459.

The `browser-ui-test` update is a fix when converting the alpha value to hex format. More information [here](https://github.com/GuillaumeGomez/browser-UI-test/pull/511).

r? ````@notriddle````
2023-05-30 12:57:40 +02:00
Guillaume Gomez
f333932ba8 Update browser-ui-test version to 0.16.5 2023-05-29 15:59:45 +02:00
bors
776f22292f Auto merge of #111575 - alex:patch-1, r=pietroalbini
Enable sanitizers and profiler for aarch64-unknown-linux-musl

This is pretty heavily cargo-culted, hopefully I didn't screw it up too badly.
2023-05-25 03:21:28 +00:00
bors
cda5becc27 Auto merge of #110519 - loongarch-rs:ci, r=Mark-Simulacrum
ci: Add support for dist-loongarch64-linux

We are preparing to promote loongarch64-unknown-linux-gnu to Tier 2, and one of the tasks is to add CI support. We are currently in the process of upgrading the dependencies for the build tools, and before this is completed, we would like to request comments. Thanks

#### Progress

- [x] Update linux-raw-sys to 0.3.2 (rust-lang/cargo#11998)
- [x] Update openssl-src to 111.25.3+1.1.1t (rust-lang/cargo#12005)
- [x] bootstrap: Update linux-raw-sys to 0.3.2 (rust-lang/rust#110516)
- [x] Update linux-raw-sys to 0.3.4 (rust-lang/rust#110518)
- [x] Update cargo (rust-lang/rust#110834)
- [x] linux_like: Add missing constants for loongarch64 (rust-lang/libc#3237)
- [x] Release 0.2.143 (rust-lang/libc#3236)
- [x] Update libc to 0.2.144 (rust-lang/cargo#12098)
- [x] Update cargo (rust-lang/rust#111456)

Tier 2 with host tools MCP: https://github.com/rust-lang/compiler-team/issues/518
2023-05-23 07:27:51 +00:00
Alex Gaynor
12fd46d691
Enable sanitizers and profiler for aarch64-unknown-linux-musl 2023-05-22 14:13:23 -07:00
Guillaume Gomez
56b8b1c353 Update browser-ui-test to 0.16.4 2023-05-22 17:33:42 +02:00
bors
ba6f5e3b4d Auto merge of #110605 - csmoe:open-cgo, r=Kobzol
support PGO on custom project

make PGO easier for custom toolchain distribution.

r? `@Kobzol`
2023-05-18 10:03:28 +00:00
Guillaume Gomez
7e6f65b9ba Update browser-ui-test version to 0.16.3 2023-05-14 00:16:00 +02:00
WANG Rui
5f173e979f ci: Add support for dist-loongarch64-linux
Co-Authored-By: YANG Xiaojuan <yangxiaojuan@loongson.cn>
2023-05-12 18:31:55 +08:00
Guillaume Gomez
616fb42098 Update browser-ui-test version to 0.16.0 2023-05-11 11:34:22 +02:00
csmoe
27beb46d77 support PGO on custom project 2023-05-09 17:37:56 +08:00
bors
c4190f2d3a Auto merge of #111224 - jyn514:default-tidy, r=pietroalbini
Remove `tidy` key in PR CI

This avoids confusing error messages when adding an `auto` job to CI (as recommended in the dev-guide: https://rustc-dev-guide.rust-lang.org/tests/ci.html#using-ci-to-test).

cc https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Do.20.60needs-profiler-support.60.20tests.20not.20run.20in.20CI.3F/near/355302998

r? `@ghost`
2023-05-07 17:17:58 +00:00
bors
a77c552485 Auto merge of #110972 - ehuss:remove-awscli, r=pietroalbini
Remove aws cli install.

All runner images have the AWS CLI 2 installed, so there isn't a really strong reason to install our own version anymore.

The version we were installing was 1.27.122. The runner images currently have 2.11.x (the exact version varies by image).

I do not have the means to really test if the new version has any issues. I looked at all the `aws` commands, and none of them seem to be doing anything unusual. The page at https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration-changes.html contains a list of all the breaking changes, and I didn't see anything that looked important.
2023-05-06 21:15:25 +00:00
bors
6e96802bf5 Auto merge of #107129 - wesleywiser:musl_1.2_upgrade, r=petrochenkov
Update the version of musl used on `*-linux-musl` targets to 1.2.3

Update the version of musl used on our Linux musl targets from 1.1.24 to 1.2.3 as proposed in rust-lang/compiler-team#572. musl 1.2.3 is the latest version of musl and supports the same range of Linux kernels as the 1.1 series. As such, it does not affect the minimum supported version of Linux for any of the musl targets.

One of the major musl 1.2 features is support for [time64](https://musl.libc.org/time64.html). This support is both source and ABI compatible with programs built against musl 1.1 and so updating the musl version for these targets should not cause Rust programs to fail to run or compile (a [crater run](https://github.com/rust-lang/rust/pull/107129#issuecomment-1407196104) has been completed which demonstrates this for the `i686-unknown-linux-musl` target).

Once this change reaches stable, the `libc` crate will then be able to [update their definitions to support 64-bit time](https://github.com/rust-lang/libc/pull/3068), matching the default musl 1.2 APIs exactly.

Fixes #91178
2023-05-06 04:20:18 +00:00
jyn
453c632b23 Remove tidy key in PR CI
This avoids confusing error messages when adding an `auto` job to CI (as
recommended in the dev-guide: https://rustc-dev-guide.rust-lang.org/tests/ci.html#using-ci-to-test).
2023-05-04 18:17:46 -05:00
Manish Goregaokar
31aeef28f8
Rollup merge of #111154 - djkoloski:use_builtin_ffx_isolation, r=tmandry
Use builtin FFX isolation for Fuchsia test runner

FFX has new builtin support for isolating the daemon's environment. This switches the manual isolation originally written to that new builtin feature.

r? ````@tmandry````
2023-05-03 16:42:52 -07:00
David Koloski
e97383657e Use builtin FFX isolation for Fuchsia test runner
FFX has new builtin support for isolating the daemon's environment. This
switches the manual isolation originally written to that new builtin
feature.
2023-05-03 14:56:04 -04:00
bors
9b99ff76b2 Auto merge of #110865 - cuviper:ct-ng-1.25, r=pietroalbini
ci: upgrade and refactor crosstool-ng builders

The first commit upgrades our builders from crosstool-ng 1.24.0 to 1.25.0. There are otherwise no changes intended to the toolchains we're using, but there are some minor version upgrades as a result, especially GCC 8.3.0 to 8.5.0. The newer crosstool-ng will position us well to make toolchain upgrades in the future though, as we were maxed out before and it now goes up to GCC 11.

The second commit refactors our config management to only commit a "mini-defconfig" for each target, produced by `ct-ng savedefconfig`. This makes it much clearer which settings we're actually changing, and also makes it easier to ensure consistency for things like mirror management.
2023-05-03 14:39:06 +00:00
bors
82cd953c7c Auto merge of #110846 - jdno:reduce-builder-sizes, r=pietroalbini
Optimize builder sizes

The infra-team is continuously monitoring the efficiency of the CI system in an effort to improve overall build times and resource usage. Some builders have used much less than their allocated resources, so we are testing smaller builder sizes for them.

r? `@pietroalbini`
2023-05-03 07:06:42 +00:00
Eric Huss
291b61e94f Set the AWS region. 2023-04-30 13:23:48 -07:00
Eric Huss
7cb798c24f Remove aws cli install. 2023-04-28 18:16:34 -07:00
Eric Huss
dd6314f96c Update awscli 2023-04-28 08:30:34 -07:00
Josh Stone
16dfd89862 ci: refactor crosstool-ng to use mini-defconfig 2023-04-26 13:42:10 -07:00
Josh Stone
d7d67d83ff ci: upgrade to crosstool-ng 1.25.0 2023-04-26 13:42:10 -07:00
Jan David
47528c0b14
Downsize builders for some x86_64-gnu targets
The infra-team is continuously monitoring the efficiency of the build
system in an effort to improve overall build times and resource usage.
The builders for some of the `x86_64-gnu` targets have used much less
resources than allocated in the past, so we are testing a smaller
builder size for them.
2023-04-26 16:52:39 +02:00
Jan David
4cbe65db8b
Downsize builder for mingw-check
The infra-team is continuously monitoring the efficiency of the build
system in an effort to improve overall build times and resource usage.
The builder for the `mingw-check` target have used much less resources
than allocated in the past, so we are testing a smaller builder size for
it.
2023-04-26 16:40:12 +02:00
Jan David
3402e286d5
Downsize builders for i686-gnu
The infra-team is continuously monitoring the efficiency of the build
system in an effort to improve overall build times and resource usage.
The builders for the `i686-gnu` targets have used much less resources
than allocated in the past, so we are testing a smaller builder size for
them.
2023-04-26 16:08:01 +02:00
bors
ae3ab14faa Auto merge of #110839 - jyn514:rollup-uikilwm, r=jyn514
Rollup of 9 pull requests

Successful merges:

 - #108416 (black_box doc corrections for clarification - Issue #107957)
 - #109379 (Replace `yes` command by `while-echo` in test `tests/ui/process/process-sigpipe.rs`)
 - #110266 (Update documentation wording on path 'try_exists' functions)
 - #110329 (Improve tests for #110138)
 - #110418 (Spelling rustdoc)
 - #110587 (Fix `std` compilation error for wasi+atomics)
 - #110594 (`rustc --help` add `--cfg` SPEC declaration.)
 - #110792 (Use the standard macOS CI runner)
 - #110817 (Add regression tests for const-generic inherent associated types)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-04-26 07:43:17 +00:00
bors
70540d5127 Auto merge of #110784 - cuviper:build-gcc-https, r=jyn514
Revert "Download the GCC sources insecurely"

This reverts commit 3da037f82988b8b3aca2ce13c5c81ba975923cab.

This workaround was added after TLS problems with Debian 6 were noted in <https://github.com/rust-lang/rust/pull/86586#issuecomment-868355356>, but we should be well past that since #95026, where our oldest images are now based on CentOS 7.
2023-04-26 04:53:49 +00:00
Ryan Levick
241cbcaa87 Use the standard macOS CI runner 2023-04-25 10:32:29 +02:00
bors
f6830a2129 Auto merge of #110232 - Amanieu:old-llvm-components, r=petrochenkov
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-25 02:09:27 +00:00
Josh Stone
603e5d764e Revert "Download the GCC sources insecurely"
This reverts commit 3da037f82988b8b3aca2ce13c5c81ba975923cab.
2023-04-24 17:17:56 -07:00
Matthias Krüger
dc0de094ee
Rollup merge of #110430 - jsoref:spelling-src-ci, r=albertlarsan68
Spelling src ci

The various src/* items seem slightly disparate, so I'm doing src/* individually.

split from https://github.com/rust-lang/rust/pull/110392
2023-04-19 17:54:40 +02:00
Josh Soref
9c8d10a9f3 Spelling src/ci
* architecture
* configures
* preparation
* toolstate
* unknown

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-17 13:36:45 -04:00
Josh Stone
6fe2406155 Test python2.7 in dist-x86_64-illumos 2023-04-16 11:50:20 -07:00
Josh Stone
33036159a4 ci: add a runner for vanilla LLVM 16
Like #107044, this will let us track compatibility with LLVM 16 going
forward, especially after we eventually upgrade our own to the next.

This also drops `tidy` here and in `x86_64-gnu-llvm-15`, syncing with
that change in #106085.
2023-04-16 11:50:20 -07:00
bors
fef27e038e Auto merge of #110142 - Mark-Simulacrum:reduce-core-counts, r=pietroalbini
Reduce core counts for a number of builders

Best reviewed by-commit; first commit renames all builder names to include core counts.

Applied changes for these builders (only on the auto branch, haven't touched PR CI):

- arm-android -> 8 core (currently at 39 minutes; 25.58% CPU)
- armhf-gnu -> 8 core (currently at 31 minutes; 30.97% CPU)
- dist-aarch64-linux -> 8 core (currently at 35 minutes; 55.38% CPU)
- dist-android -> 8 core (currently at 18 minutes; 43.03% CPU)
- dist-armhf-linux -> 8 core (currently at 27 minutes; 54.71% CPU)
- dist-armv7-linux -> 8 core (currently at 29 minutes; 50.33% CPU)
- dist-i586-gnu-i586-i686-musl -> 8 core (currently at 27 minutes; 48.31% CPU)
- dist-i686-linux -> 8 core (currently at 32 minutes; 52.39% CPU)
- dist-mips-linux -> 8 core (currently at 25 minutes; 55.09% CPU)
- dist-mips64-linux -> 8 core (currently at 25 minutes; 55.33% CPU)
- dist-mips64el-linux -> 8 core (currently at 26 minutes; 54.93% CPU)
- dist-mipsel-linux -> 8 core (currently at 25 minutes; 55.38% CPU)
- dist-powerpc-linux -> 8 core (currently at 26 minutes; 55.77% CPU)
- dist-powerpc64-linux -> 8 core (currently at 27 minutes; 55.03% CPU)
- dist-powerpc64le-linux -> 8 core (currently at 27 minutes; 54.95% CPU)
- dist-riscv64-linux -> 8 core (currently at 26 minutes; 54.43% CPU)
- dist-s390x-linux -> 8 core (currently at 30 minutes; 55.97% CPU)
- dist-various-1 -> 8 core (currently at 36 minutes; 29.16% CPU)
- dist-various-2 -> 8 core (currently at 27 minutes; 32.69% CPU)
- dist-x86_64-freebsd -> 8 core (currently at 27 minutes; 51.69% CPU)
- dist-x86_64-illumos -> 8 core (currently at 30 minutes; 54.88% CPU)
- dist-x86_64-musl -> 8 core (currently at 39 minutes; 57.56% CPU)
- dist-x86_64-netbsd -> 8 core (currently at 26 minutes; 55.82% CPU)
- mingw-check -> 8 core (currently at 17 minutes; 35.00% CPU)
- test-various -> 8 core (currently at 22 minutes; 44.84% CPU)
- wasm32 -> 8 core (currently at 19 minutes; 62.94% CPU)
- x86_64-gnu -> 8 core (currently at 32 minutes; 50.31% CPU)
- x86_64-gnu-stable -> 8 core (currently at 32 minutes; 51.23% CPU)
- x86_64-gnu-aux -> 8 core (currently at 22 minutes; 46.39% CPU)
- x86_64-gnu-debug -> 8 core (currently at 21 minutes; 53.93% CPU)
- x86_64-gnu-distcheck -> 8 core (currently at 38 minutes; 55.93% CPU)
- x86_64-gnu-llvm-15 -> 8 core (currently at 34 minutes; 52.99% CPU)
- x86_64-gnu-llvm-14 -> 8 core (currently at 34 minutes; 52.09% CPU)
- x86_64-gnu-llvm-14-stage1 -> 8 core (currently at 33 minutes; 51.13% CPU)
- x86_64-gnu-nopt -> 8 core (currently at 29 minutes; 53.36% CPU)
- x86_64-gnu-tools -> 8 core (currently at 22 minutes; 40.56% CPU)

We may also want to look at merging some of these builders in the future (to deduplicate stage0 builds and such) but that can happen separately - and is more work than just adjusting core counts.

r? `@pietroalbini`
2023-04-15 00:08:07 +00:00