Commit graph

1185 commits

Author SHA1 Message Date
Nikita Popov
cbf15176db Update host compiler to LLVM 16
This updates the host compiler for dist-x86_64-linux to LLVM 16,
pulling in the BOLT fix at
1de305da42,
which is needed to update Rust to LLVM 16.
2023-03-11 15:00:00 +01:00
Matthias Krüger
b5de0089e1
Rollup merge of #106085 - fee1-dead-contrib:tidy-ci-matchers, r=pietroalbini
use problem matchers for tidy CI
2023-03-10 21:15:44 +01:00
Josh Stone
258c7e73c4 ci: use apt install --download-only for solaris debs 2023-03-09 12:23:18 -08:00
Deadbeef
a2040de541 do not run tidy on x86_64-gnu-llvm-13 2023-03-06 07:14:42 +00:00
David Koloski
c9f1a541b3 Run compiler test suite in parallel on Fuchsia 2023-03-01 15:35:00 -05:00
Michael Goulet
b90a385f26
Rollup merge of #105736 - chenyukang:yukang/add-mir-opt-level-testing, r=jyn514
Test that the compiler/library builds with validate-mir

Fixes #105706
2023-02-25 11:53:08 -08:00
Matthias Krüger
47c7d53fe6
Rollup merge of #108412 - GuillaumeGomez:fix-gui-test-navigation-bug, r=notriddle
Fix GUI test navigation bug

Following https://github.com/GuillaumeGomez/browser-UI-test/pull/438, we can now remove this `wait-for`.

Should help with #93784.

r? ``@notriddle``
2023-02-25 11:31:34 +01:00
yukang
001bceeb1e check is default to all targets now 2023-02-25 03:11:38 +00:00
yukang
15813cf646 enable validate-mir-opts in mingw-check 2023-02-24 22:40:39 +00:00
David Koloski
6e7902bc3d Update fuchsia-test-runner.py and docs
This updates the test runner to the latest version of the SDK and fixes
debugging support for Rust source code.
2023-02-24 15:39:58 -05:00
Guillaume Gomez
b6e0efe655 Update browser-ui-test version 2023-02-23 22:04:19 +01:00
Matthias Krüger
a1ba861190
Rollup merge of #107573 - cuviper:drop-llvm-13, r=nagisa
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-14 18:24:40 +01:00
Guillaume Gomez
5fe1046668 Update browser-ui-test version to 0.14.3 2023-02-12 22:02:39 +01:00
Josh Stone
a06aaa4a9e Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
Joseph Ryan
eb5e9713b5 Use triple rather than arch for fuchsia test runner 2023-02-02 13:29:03 -08:00
bors
f55b0022db Auto merge of #103019 - Kobzol:ci-multistage-python, r=Mark-Simulacrum
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-29 22:14:18 +00:00
Matthias Krüger
309fb1923f
Rollup merge of #96763 - Abdur-rahmaanJ:patch-1, r=Mark-Simulacrum
Fix maintainer validation message

State clearly why maintainer verification is not activating, ruling out the user thinking they misconfigured something.
2023-01-29 20:03:34 +01:00
Jakub Beránek
5b77cb459f
Port pgo.sh to Python 2023-01-24 21:51:01 +01:00
bors
ad48c10981 Auto merge of #107044 - cuviper:more-llvm-ci, r=Mark-Simulacrum
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-23 04:36:34 +00:00
Abdur-Rahmaan Janhangeer
2fe58b9a6a fix maintainer validation message
fix remove token check for maintainers
fix: rm validate_maintainers function
2023-01-22 14:53:17 +04:00
Matthias Krüger
d779a592dd
Rollup merge of #107127 - uweigand:s390x-sanitizer, r=Mark-Simulacrum
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-22 11:43:07 +01:00
bors
1c394e1b9a Auto merge of #106948 - cuviper:ci-mingw-check, r=nikic
ci: upgrade mingw-check to ubuntu:22.04
2023-01-21 21:42:21 +00:00
Wesley Wiser
cb93f92b84 Specify version of Linux headers 2023-01-20 15:20:08 -05:00
Wesley Wiser
7a4eefcdfc Bump musl-cross-make to get support for building musl 1.2.3 2023-01-20 15:20:08 -05:00
Wesley Wiser
4af36a4c6f Upgrade to musl 1.2.3 2023-01-20 15:20:08 -05:00
Ulrich Weigand
492d928e44 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-20 18:34:24 +01:00
bors
333ee6c466 Auto merge of #105716 - chriswailes:ndk-update-redux, r=pietroalbini
Ndk update redux

Blocked on https://github.com/rust-lang/blog.rust-lang.org/pull/1055
2023-01-18 19:49:02 +00:00
Josh Stone
318d77ddfd ci: add runners for vanilla LLVM 14 and 15 2023-01-18 11:14:40 -08:00
Josh Stone
4cc71843da ci: upgrade mingw-check to ubuntu:22.04 2023-01-16 11:46:48 -08:00
Matthias Krüger
bc4049d861
Rollup merge of #106644 - alexcrichton:update-wasi-toolchain, r=cuviper
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-14 13:04:25 +01:00
Yuki Okushi
233169ff0a
Rollup merge of #106670 - albertlarsan68:check-docs-in-pr-ci, r=Mark-Simulacrum
Check compiler docs in PR CI

Fixes #106624
2023-01-14 12:04:33 +09:00
Alex Crichton
b047aec122 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-13 13:21:18 -08:00
bors
4887cb18dc Auto merge of #106711 - albertlarsan68:use-ci-llvm-when-lld, r=jyn514
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-12 04:58:03 +00:00
Albert Larsan
40ba0e84d5
Change src/test to tests in source files, fix tidy and tests 2023-01-11 09:32:13 +00:00
Albert Larsan
bd5a0f956e
Use CI LLVM in test-various builder
It was disabled because it needs lld, but since 104748 was merged it is
no longer needed.
2023-01-11 08:38:16 +00:00
Albert Larsan
1300c8d272
Check compiler docs in PR CI 2023-01-10 08:43:54 +00:00
Guillaume Gomez
f67aa04114 Update browser-ui-test version 2023-01-06 15:55:36 +01:00
David Koloski
f6ef039775 Add vendor to Fuchsia's target triple
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-05 09:34:22 -05:00
Joshua Nelson
beefcf8854 Cleanup mingw-tidy docker job
- 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.
2023-01-01 21:44:18 +00:00
Eric Huss
59b80f598f Run cargo test on tidy itself. 2022-12-31 12:34:23 -08:00
Deadbeef
4566db3359 Run tidy in its own job in PR CI
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-22 17:50:56 +00:00
Matthias Krüger
be48d21938
Rollup merge of #105863 - GuillaumeGomez:update-browser-ui-test, r=notriddle
Update browser-ui-test version to reduce GUI tests flakyness

Part of https://github.com/rust-lang/rust/issues/93784.

r? `@notriddle`
2022-12-18 23:03:06 +01:00
Guillaume Gomez
0c029ab07c Update browser-ui-test version to reduce GUI tests flakyness 2022-12-18 18:14:12 +01:00
bors
37efc81072 Auto merge of #105714 - jyn514:tidy-first, r=Mark-Simulacrum
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-18 16:03:46 +00:00
Chris Denton
3d852f60aa
Test documentation of hidden items in std 2022-12-16 20:21:43 +00:00
Chris Wailes
0fb426ace4 Update CI to use Android NDK r25b
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-14 11:33:08 -08:00
Joshua Nelson
c99f1b7413 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.
2022-12-14 12:46:47 -06:00
Andrew Pollack
c14b85c11e
Adjust log line in fuchsia-test-runner.py
* Adjusting log line in `fuchsia-test-runner.py` to refer to self
2022-12-13 09:26:12 -08:00
Matthias Krüger
5b4723f154
Rollup merge of #105389 - ogarokpeter:patch-1, r=Mark-Simulacrum
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-09 07:25:45 +01:00
Dan Johnson
8bc30cb0f1 CI: add missing line continuation marker
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-07 14:17:47 -08:00