Commit graph

1616 commits

Author SHA1 Message Date
bors
c4e6fe9240 Auto merge of #113714 - Kobzol:ci-cmake, r=nikic
CI: build CMake 3.20 to support LLVM 17

LLVM 17 will require CMake at least 3.20, so we have to go back to building our own CMake on the Linux x64 dist builder.

r? `@nikic`
2023-07-17 15:46:43 +00:00
Jakub Beránek
18f20439dd CI: build CMake 3.20 to support LLVM 17 2023-07-16 15:00:53 +02:00
jyn
d3cdf27184 Add even more GHA log groups
This also adds a dynamic check that we don't emit nested groups, since GHA currently doesn't support them.
2023-07-14 17:27:20 -05:00
Jakub Beránek
8e0a87bdf4
CI: use macos-13 runner for Apple jobs 2023-07-10 20:22:15 +02:00
Matthias Krüger
6a20f681d5
Rollup merge of #113247 - mirkootter:test-wasm-exceptions-nostd, r=Mark-Simulacrum
Add Tests for native wasm exceptions

### Motivation
In PR #111322, I added support for native WASM exceptions. I was asked by ``@davidtwco`` to add some tests for it in a follow up PR, which seems like a very good idea.

This PR adds three tests for this feature:
* codegen: ensure the correct LLVM instructions are used
* assembly: ensure the correct WASM instructions are used
* run-make: ensure the exception handling works; the WASM code is run using a small nodejs script which demonstrates the exception handling

### Complications
There are a few changes beside adding the tests, which were necessary
* Tests for the wasm32-unknown-unknown target are (as far as I know) only run on `test-various`. Its docker image uses nodejs-15, which is very old. Experimental support for wasm-exceptions was added in nodejs16. In nodejs 18.12 (LTS), they are stable.
  - --> increase nodejs to 18.12 in `test-various`
* codegen/assembly tests are not performed for the wasm32-unknown-unknown target yet
  - --> add those to `test-various` as well

Due to the last point, some tests are run which have not run before (assembly+codegen tests for wasm32-unknown-unknown). I added `// ignore wasm32-bare` for those which failed

### Local testing
I run all tests locally using both `test-various` and `wasm32`. As far as I know, none of the other systems run any test for wasm32 targets.
2023-07-09 16:33:36 +02:00
Jakub Beránek
91d2fb2e2b
Port PGO/LTO/BOLT optimized build pipeline to Rust 2023-07-09 08:39:50 +02:00
Matthias Krüger
e0b290f1a8
Rollup merge of #113173 - Kobzol:ci-concurrency-group-workflow, r=pietroalbini
CI: include workflow name in concurrency group

Currently, this won't change anything, because we only have one relevant workflow (`CI`), but for future proofing we should probably include the workflow name in the concurrency group.

Found by ``@klensy`` [here](https://github.com/rust-lang/rust/pull/113059#discussion_r1247213606).
2023-07-08 15:49:45 +02:00
bors
06082086b4 Auto merge of #112796 - Kobzol:ci-merge-msvc-cargo-tools, r=pietroalbini
CI: merge msvc cargo and tools jobs

The `x86_64-msvc-cargo` and `x86_64-msvc-tools` jobs both run for ~1 hour, but most of that time is actually spent in building LLVM and `rustc`, so I want to try merging them.
![image](https://github.com/rust-lang/rust/assets/4539057/8652fa2a-b8b7-41d0-8f16-555d31acd9a5)
2023-07-07 00:39:47 +00:00
bors
87c8c83ec7 Auto merge of #112779 - Kobzol:ci-merge-llvm-14, r=pietroalbini
CI: merge x86_64-gnu-llvm-14 and x86_64-gnu-llvm-14-stage1 CI jobs

Another attempt to shorten CI job times. Suggested by `@the8472` [here](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/CI.20usage/near/367172221).
2023-07-06 16:14:50 +00:00
bors
c4c84df3b3 Auto merge of #113323 - Kobzol:pgo-script-llvm-ci, r=jyn514
Use `llvm-config` instead of `download-ci-llvm` in PGO script

This should avoid CI breakage when the LLVM stamp is updated, and also it will avoid an unnecessary LLVM download from CI.

r? `@jyn514`
2023-07-06 13:01:13 +00:00
Jakub Beránek
12b75fe18b
Fix LLVM config path on Windows 2023-07-06 00:06:24 +02:00
Jakub Beránek
be99bb9cbf
Use llvm-config instead of download-ci-llvm in PGO script
This should avoid CI breakage when the LLVM stamp is updated, and also it will avoid an unnecessary LLVM download from CI.
2023-07-04 15:38:32 +02:00
Jubilee Young
634f95295f Remove MIPS host CI workflows 2023-07-02 22:04:46 -07:00
Jan-Mirko Otter
a0bd381052 test-various: run codegen and assembly tests 2023-07-02 02:22:22 +02:00
Jan-Mirko Otter
61441302a2 test-various: update nodejs to 18.12 (LTS) 2023-07-01 20:24:15 +02:00
Guillaume Gomez
f748aa5634 Update browser-ui-test version to 0.16.8 2023-06-30 11:45:37 +02:00
Jakub Beránek
f88024627b
CI: include workflow name in concurrency group
Currently, this won't change anything, because we only have one relevant workflow (`CI`), but for future proofing we should probably include the workflow name in the concurrency group.
2023-06-30 00:08:38 +02:00
bors
b23a5add09 Auto merge of #113059 - Kobzol:ci-concurrency-fix, r=pietroalbini
CI: do not cancel concurrent builds on the same branch

Do not cancel concurrent builds on the same branch (outside of PRs).

Instead, only cancel them if the builds have the same commit SHA.

From the [documentation](https://docs.github.com/en/actions/learn-github-actions/contexts#github-context):
> The commit SHA that triggered the workflow. The value of this commit SHA depends on the event that triggered the workflow. For more information, see "[Events that trigger workflows](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows)." For example, ffac537e6cbbf934b08745a378932722df287a53.

Fixes: https://github.com/rust-lang/rust/pull/112955#discussion_r1242273658

r? `@pietroalbini`
2023-06-29 18:18:52 +00:00
Jakub Beránek
32428ab5f3
CI: do not cancel concurrent builds on the same branch
Add an exception for try and try-perf branches to enable concurrent try builds and unrolled rollup builds.
2023-06-29 14:52:52 +02:00
bors
2a15bdaaa1 Auto merge of #112969 - CryZe:patch-7, r=Mark-Simulacrum
Update wasi-libc

This updates wasi-libc to the latest master.

Resolves #112749
2023-06-26 21:51:03 +00:00
Jakub Beránek
7fb559353e
CI: do not cancel concurrent builds on the same branch
Instead, only cancel them if the builds have the same commit SHA.
2023-06-26 16:40:12 +02:00
Jakub Beránek
e8973eac12
Remove cancel-outdated action 2023-06-25 16:01:01 +02:00
Christopher Serr
471cd785cc
Update wasi-libc
This updates wasi-libc to the latest master.

Resolves #112749
2023-06-23 18:19:40 +02:00
Jakub Beránek
3c2b8b06fc Cancel in-progress workflow runs after a push 2023-06-23 11:22:56 +02:00
Michael Goulet
780826577e
Rollup merge of #112787 - oli-obk:gha_tinder_for_problems, r=jyn514
Add gha problem matcher

These regexes capture rustfmt errors, panics and regular Rust errors in CI and automatically add messages in the diff view. This should make it simpler to quickly see what went wrong without having to scroll through CI logs.

We can fine tune the regexes or add more matchers after having a look at how it actually works in practice

The relevant documentation can be found at https://github.com/actions/toolkit/blob/main/docs/problem-matchers.md

r? `@jyn514`
2023-06-19 17:53:36 -07:00
Michael Goulet
935452b619
Rollup merge of #112499 - tgross35:py-ruff-fixes, r=Mark-Simulacrum
Fix python linting errors

These were flagged by `ruff`, run using the config in https://github.com/rust-lang/rust/pull/112482
2023-06-19 17:53:34 -07:00
Oli Scherer
13aa0dc1c7 Add gha problem matcher 2023-06-19 15:34:31 +00:00
Jakub Beránek
e115359035
CI: merge x86_64-msvc-cargo and x86_64-msvc-tools jobs 2023-06-19 15:58:12 +02:00
Jakub Beránek
0c147d5345
Print what is being executed on CI
This makes it easier to grep for executed commands in CI logs
2023-06-19 10:15:03 +02:00
Jakub Beránek
1dba9721fc
CI: merge x86_64-gnu-llvm-14 and x86_64-gnu-llvm-14-stage1 CI jobs 2023-06-19 10:15:03 +02:00
bors
f217411bac Auto merge of #112774 - compiler-errors:rollup-z8oof6r, r=compiler-errors
Rollup of 6 pull requests

Successful merges:

 - #112537 (Don't record adjustments twice in `note_source_of_type_mismatch_constraint`)
 - #112663 (cleanup azure leftovers)
 - #112668 (Test `x.ps1` in `msvc` CI job)
 - #112710 (Re-use the deref-pattern recursion instead of duplicating the logic)
 - #112753 (Don't try to auto-bless 32-bit `mir-opt` tests on ARM Mac hosts)
 - #112758 (refactor(resolve): delete update_resolution function)

r? `@ghost`
`@rustbot` modify labels: rollup
2023-06-18 22:30:48 +00:00
Michael Goulet
2a85e02428
Rollup merge of #112663 - klensy:dusk-and-dawn, r=pietroalbini
cleanup azure leftovers

Continuation of #97756
2023-06-18 13:17:06 -07:00
bors
2d0aa57684 Auto merge of #112645 - Kobzol:ci-mingw-merge, r=pietroalbini
CI: merge `mingw` test CI jobs

Same as https://github.com/rust-lang/rust/pull/112633, but for `mingw`. From the logs it looks like the runner spends 40 minutes compiling `rustc`, and then `10`/`20` minutes running tests. It seems wasteful to split that into two jobs.

CI run: https://github.com/rust-lang/rust/actions/runs/5275702134/jobs/9541479343?pr=112645

r? `@jyn514`
2023-06-18 19:49:26 +00:00
Jakub Beránek
f3a4cf13a7
Merge mingw-1/2 CI jobs 2023-06-18 14:40:52 +02:00
Matthias Krüger
c3425931d2
Rollup merge of #112719 - djkoloski:fuchsia_test_runner_remove_fvdl, r=tmandry
Replace fvdl with ffx, allow test without install

Along with replacing fvdl uses with the equivalent ffx commands, this also switches from using the install path for libstd-*.so and libtest-*.so to using the build directory (now passed on the command line). The user no longer needs to run x.py install before running tests now, and the correct libstd and libtest are detected on run instead of startup so the test runner can handle recompilations after starting the testing environment.

r? ``@tmandry``
2023-06-17 12:43:31 +02:00
bors
1d7d824726 Auto merge of #112407 - tgross35:ci-docs-publish, r=Mark-Simulacrum
Publish docs as github artifacts during CI

Discussed here: https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Building.20docs.20for.20PR.20CI

The goal is to make docs available for download after CI runs on PRs, for easy review of API changes.

Notes:

- Currently this only captures library documentation (`core`, `alloc`, `std`, `test`, `proc_macro`)
- You can't see artifacts until the entire workflow run has completed https://github.com/actions/upload-artifact/issues/53
- There is currently a generic file name `ci-artifacts`. No way to customize this based on contained files unfortunately https://github.com/actions/upload-artifact/issues/349

You can find the results at the bottom of the CI "summary" page:

<img width="379" alt="image" src="https://github.com/rust-lang/rust/assets/13724985/d3748e59-242c-40f8-9f54-82177b9b481b">
2023-06-17 03:28:53 +00:00
Trevor Gross
22d00dcd47 Apply changes to fix python linting errors 2023-06-16 20:56:01 -04:00
David Koloski
4c6fd7594d Replace fvdl with ffx, allow test without install
Along with replacing fvdl uses with the equivalent ffx commands, this
also switches from using the install path for libstd-*.so and
libtest-*.so to using the build directory (now passed on the command
line). The user no longer needs to run x.py install before running tests
now, and the correct libstd and libtest are detected on run instead of
startup so the test runner can handle recompilations after starting the
testing environment.
2023-06-16 18:14:38 -04:00
Guillaume Gomez
56a5b7e504
Rollup merge of #112664 - djkoloski:fuchsia_test_runner_tmpdir, r=tmandry
Add support for test tmpdir to fuchsia test runner

Also format the script to keep the code nice.

This fixes the `tests/ui/std/switch-stdout.rs` test on Fuchsia.

r? `@tmandry`
2023-06-15 22:04:58 +02:00
David Koloski
71db99935a Add support for test tmpdir to fuchsia test runner
Also format the script to keep the code nice.
2023-06-15 12:17:40 -04:00
klensy
903b3d36db cleanup more azure leftovers 2023-06-15 18:58:57 +03:00
bors
f9097f87c9 Auto merge of #112633 - Kobzol:ci-msvc-merge, r=pietroalbini
CI: merge `msvc` test CI jobs

Merges `msvc` jobs together to save CI time. Currently, both runners take about 1h 15 minutes, but nowadays it should be possible to just run everything in a single job.

CI run: https://github.com/rust-lang/rust/actions/runs/5272144087/jobs/9534015536?pr=112633 (both finish under ~1h 35 minutes)

After this change, we no longer test both `x.py` and `x.ps1`, but I don't suppose that it's worth it to spend 1.5 hours of additional CI time just for that. I suggest to run all tests using e.g. `x.py` and then run just `x.ps1 test --stage 2 --force-rerun tests/<single-quick-test>`.
Also I'm not sure if it's worth it to keep using the Makefile for this.
2023-06-15 13:02:47 +00:00
Jakub Beránek
895eb3035e
Merge msvc-1/2 CI jobs 2023-06-14 23:07:49 +02:00
Guillaume Gomez
2f9fac024c Update browser-ui-test version to 0.16.7 2023-06-14 10:37:56 +02:00
Trevor Gross
696b0dd472 Publish docs as github artifacts during CI
This PR saves library docs as github artifacts so they can be easily
viewed for review.

Discussed in <https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Building.20docs.20for.20PR.20CI>
2023-06-12 17:31:20 -04:00
Matthias Krüger
8744b1a575
Rollup merge of #112335 - loongarch-rs:gcc13, r=Mark-Simulacrum
ci: Upgrade loongarch64-linux-gnu GCC to 13.1.0

This PR upgrades GCC to 13.1.0 for the `loongarch64-unknown-linux-gnu` target. This upgrade was suggested in a previous review discussion: https://github.com/rust-lang/rust/pull/110519#discussion_r1184613749
2023-06-10 15:24:43 +02:00
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