about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2023-07-10CI: use `macos-13` runner for Apple jobsJakub Beránek-1/+1
2023-07-09Rollup merge of #113247 - mirkootter:test-wasm-exceptions-nostd, ↵Matthias Krüger-2/+4
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-09Port PGO/LTO/BOLT optimized build pipeline to RustJakub Beránek-1038/+6
2023-07-08Rollup merge of #113173 - Kobzol:ci-concurrency-group-workflow, r=pietroalbiniMatthias Krüger-1/+1
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-07Auto merge of #112796 - Kobzol:ci-merge-msvc-cargo-tools, r=pietroalbinibors-9/+3
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-06Auto merge of #112779 - Kobzol:ci-merge-llvm-14, r=pietroalbinibors-76/+40
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-06Auto merge of #113323 - Kobzol:pgo-script-llvm-ci, r=jyn514bors-2/+7
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-06Fix LLVM config path on WindowsJakub Beránek-1/+1
2023-07-04Use `llvm-config` instead of `download-ci-llvm` in PGO scriptJakub Beránek-2/+7
This should avoid CI breakage when the LLVM stamp is updated, and also it will avoid an unnecessary LLVM download from CI.
2023-07-02Remove MIPS host CI workflowsJubilee Young-12/+0
2023-07-02test-various: run codegen and assembly testsJan-Mirko Otter-0/+2
2023-07-01test-various: update nodejs to 18.12 (LTS)Jan-Mirko Otter-2/+2
2023-06-30Update browser-ui-test version to 0.16.8Guillaume Gomez-1/+1
2023-06-30CI: include workflow name in concurrency groupJakub Beránek-1/+1
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-29Auto merge of #113059 - Kobzol:ci-concurrency-fix, r=pietroalbinibors-3/+4
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-29CI: do not cancel concurrent builds on the same branchJakub Beránek-3/+4
Add an exception for try and try-perf branches to enable concurrent try builds and unrolled rollup builds.
2023-06-26Auto merge of #112969 - CryZe:patch-7, r=Mark-Simulacrumbors-1/+1
Update wasi-libc This updates wasi-libc to the latest master. Resolves #112749
2023-06-26CI: do not cancel concurrent builds on the same branchJakub Beránek-1/+1
Instead, only cancel them if the builds have the same commit SHA.
2023-06-25Remove `cancel-outdated` actionJakub Beránek-13/+2
2023-06-23Update wasi-libcChristopher Serr-1/+1
This updates wasi-libc to the latest master. Resolves #112749
2023-06-23Cancel in-progress workflow runs after a pushJakub Beránek-0/+4
2023-06-19Rollup merge of #112787 - oli-obk:gha_tinder_for_problems, r=jyn514Michael Goulet-0/+40
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-19Rollup merge of #112499 - tgross35:py-ruff-fixes, r=Mark-SimulacrumMichael Goulet-13/+12
Fix python linting errors These were flagged by `ruff`, run using the config in https://github.com/rust-lang/rust/pull/112482
2023-06-19Add gha problem matcherOli Scherer-0/+40
2023-06-19CI: merge `x86_64-msvc-cargo` and `x86_64-msvc-tools` jobsJakub Beránek-9/+3
2023-06-19Print what is being executed on CIJakub Beránek-1/+2
This makes it easier to grep for executed commands in CI logs
2023-06-19CI: merge x86_64-gnu-llvm-14 and x86_64-gnu-llvm-14-stage1 CI jobsJakub Beránek-76/+39
2023-06-18Auto merge of #112774 - compiler-errors:rollup-z8oof6r, r=compiler-errorsbors-2/+0
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-18Rollup merge of #112663 - klensy:dusk-and-dawn, r=pietroalbiniMichael Goulet-2/+0
cleanup azure leftovers Continuation of #97756
2023-06-18Auto merge of #112645 - Kobzol:ci-mingw-merge, r=pietroalbinibors-26/+4
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-18Merge `mingw-1/2` CI jobsJakub Beránek-26/+4
2023-06-17Rollup merge of #112719 - djkoloski:fuchsia_test_runner_remove_fvdl, r=tmandryMatthias Krüger-145/+92
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-17Auto merge of #112407 - tgross35:ci-docs-publish, r=Mark-Simulacrumbors-0/+61
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-16Apply changes to fix python linting errorsTrevor Gross-13/+12
2023-06-16Replace fvdl with ffx, allow test without installDavid Koloski-145/+92
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-15Rollup merge of #112664 - djkoloski:fuchsia_test_runner_tmpdir, r=tmandryGuillaume Gomez-6/+7
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-15Add support for test tmpdir to fuchsia test runnerDavid Koloski-6/+7
Also format the script to keep the code nice.
2023-06-15cleanup more azure leftoversklensy-2/+0
2023-06-15Auto merge of #112633 - Kobzol:ci-msvc-merge, r=pietroalbinibors-16/+4
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-14Merge `msvc-1/2` CI jobsJakub Beránek-16/+4
2023-06-14Update browser-ui-test version to 0.16.7Guillaume Gomez-1/+1
2023-06-12Publish docs as github artifacts during CITrevor Gross-0/+61
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-10Rollup merge of #112335 - loongarch-rs:gcc13, r=Mark-SimulacrumMatthias Krüger-2/+2
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-07Use ``--keep-stage` also for the final buildJakub Beránek-0/+6
2023-06-07Avoid one `rustc` rebuild in the optimized build pipelineJakub Beránek-55/+89
2023-06-07Auto merge of #111495 - Kobzol:dist-tests, r=Mark-Simulacrumbors-4/+111
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-05Test the PGO/BOLT/LTO optimized x64 Linux compiler on CIJakub Beránek-4/+111
2023-06-05ci: Upgrade loongarch64-linux-gnu GCC to 13.1.0WANG Rui-2/+2
2023-06-04Auto merge of #112282 - matthiaskrgr:rollup-1g9w02p, r=matthiaskrgrbors-1/+1
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-04Auto merge of #112176 - jyn514:ci-debugging, r=clubby789bors-0/+1
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'] ```