summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2023-04-16bump to stablePietro Albini-1/+1
2023-04-16Limit to one job on mingw buildersNikita Popov-0/+8
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-29Revert "enable ThinLTO for rustc on x86_64-pc-windows-msvc dist builds"Nilstrieb-1/+0
This lead to a miscompilation in at least `char::is_whitespace` and probably in more unknown places..... This reverts commit 684663ed380d0e6a6e135aed9c6055ab4ba94ac8.
2023-03-29Move us to the new large runners poolMark Rousskov-2/+2
For now this keeps all the configuration identical (AFAICT) but we'll likely want to play with the specifics to move some of the slower builders to larger machines and the faster builders to smaller machines, likely reducing overall usage and improving CI times.
2023-03-16ci: use `apt install --download-only` for solaris debsJosh Stone-6/+4
2023-03-06Bump channel to betaMark Rousskov-1/+1
2023-03-03Rollup merge of #108647 - nikic:pgo-sh, r=jyn514Matthias Krüger-230/+0
Remove dead pgo.sh file This has been replaced by stage-build.py.
2023-03-02Rollup merge of #108367 - compiler-errors:xl-builders-again, r=pietroalbiniMatthias Krüger-1/+1
Re-apply "switch to the macos-12-xl builder" This reverts commit e63ec2e1402eaff949e5c53b8f6062b152010fcc, essentially re-applying fcbae989ae790d5b9a0a23ceba242d0b0d4e6c5b. r? ````@pietroalbini````
2023-03-02Remove dead pgo.sh fileNikita Popov-230/+0
This has been replaced by stage-build.py.
2023-03-01Run compiler test suite in parallel on FuchsiaDavid Koloski-13/+26
2023-02-25Rollup merge of #105736 - chenyukang:yukang/add-mir-opt-level-testing, r=jyn514Michael Goulet-1/+3
Test that the compiler/library builds with validate-mir Fixes #105706
2023-02-25Rollup merge of #108412 - GuillaumeGomez:fix-gui-test-navigation-bug, ↵Matthias Krüger-1/+1
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-25check is default to all targets nowyukang-2/+2
2023-02-24enable validate-mir-opts in mingw-checkyukang-2/+3
2023-02-24Update `fuchsia-test-runner.py` and docsDavid Koloski-13/+69
This updates the test runner to the latest version of the SDK and fixes debugging support for Rust source code.
2023-02-24Test that the compiler/library builds with -Zmir-opt-level=3 -Zvalidate-miryukang-0/+1
2023-02-23Update browser-ui-test versionGuillaume Gomez-1/+1
2023-02-22Re-apply "switch to the macos-12-xl builder"Michael Goulet-1/+1
This reverts commit e63ec2e1402eaff949e5c53b8f6062b152010fcc.
2023-02-14Rollup merge of #107733 - Kobzol:opt-build-metrics, r=Mark-SimulacrumMatthias Krüger-34/+124
Store metrics from `metrics.json` to CI PGO timer With this change, we'll be able to easily see how long does it take to compile LLVM vs `rustc`. r? ```@Mark-Simulacrum```
2023-02-14Rollup merge of #107573 - cuviper:drop-llvm-13, r=nagisaMatthias Krüger-84/+10
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-13Log all metrics from `metrics.json`Jakub Beránek-2/+24
2023-02-13Store metrics from metrics.json into PGO CI timerJan Gaura-34/+102
Co-authored-by: Jakub Beránek <berykubik@gmail.com>
2023-02-13Rollup merge of #107922 - Kobzol:ci-print-disk-size, r=Mark-SimulacrumMatthias Krüger-2/+17
Print disk usage in PGO CI script To diagnose issues like https://github.com/rust-lang/rust/pull/94857#issuecomment-1426648675.
2023-02-12Update browser-ui-test version to 0.14.3Guillaume Gomez-1/+1
2023-02-11Print disk usage in PGO CI scriptJakub Beránek-2/+17
2023-02-10Update the minimum external LLVM to 14Josh Stone-84/+10
2023-02-07Rollup merge of #107700 - jyn514:tools-builder, r=Mark-SimulacrumMatthias Krüger-38/+1
Run the tools builder on all PRs Previously, it would only run on changes to subtrees, submodules, or select directories. That made it so that changes to the compiler that broke tools would only be detected on a full bors merge. This makes it so the tools builder runs by default, making it easier to catch breaking changes to clippy (which was the most affected). r? ``@Mark-Simulacrum`` cc ``@pietroalbini`` ``@flip1995`` ``@m-ou-se``
2023-02-06Rollup merge of #107596 - Kobzol:stage-build-timer, r=Mark-SimulacrumMatthias Krüger-49/+123
Add nicer output to PGO build timer This PR modifies the timer used in the PGO build script to contain nicer, hierarchical output of the individual build steps. It's not trivial to test locally, so I'll fire up a dist build right away. r? ``@Mark-Simulacrum``
2023-02-05Run the tools builder on all PRsJoshua Nelson-38/+1
Previously, it would only run on changes to subtrees, submodules, or select directories. That made it so that changes to the compiler that broke tools would only be detected on a full bors merge. This makes it so the tools builder runs by default, making it easier to catch breaking changes to clippy (which was the most effected).
2023-02-03Auto merge of #107625 - matthiaskrgr:rollup-xr9oldy, r=matthiaskrgrbors-28/+23
Rollup of 6 pull requests Successful merges: - #106575 (Suggest `move` in nested closure when appropriate) - #106805 (Suggest `{var:?}` when finding `{?:var}` in inline format strings) - #107500 (Add tests to assert current behavior of large future sizes) - #107598 (Fix benchmarks in library/core with black_box) - #107602 (Parse and recover from type ascription in patterns) - #107608 (Use triple rather than arch for fuchsia test-runner) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-02-03Auto merge of #107543 - ehuss:protocol-sparse, r=jyn514bors-0/+3
Enable Cargo's sparse protocol in CI This enables the sparse protocol in CI in order to exercise and dogfood it. This is intended test the production server in a real-world situation. Closes #107342
2023-02-02Use triple rather than arch for fuchsia test runnerJoseph Ryan-28/+23
2023-02-02Make timer hierarchicalJakub Beránek-54/+104
2023-02-01Revert "switch to the macos-12-xl builder"Michael Goulet-1/+1
This reverts commit fcbae989ae790d5b9a0a23ceba242d0b0d4e6c5b.
2023-02-01Print total duration in human timeJakub Beránek-2/+17
2023-02-01Dynamically align values in staged build timer table to avoid overflowJakub Beránek-5/+14
2023-01-31Enable Cargo's sparse protocol in CIEric Huss-0/+3
2023-01-29Auto merge of #103019 - Kobzol:ci-multistage-python, r=Mark-Simulacrumbors-2/+665
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-29Auto merge of #107451 - matthiaskrgr:rollup-m4ucfu8, r=matthiaskrgrbors-6/+0
Rollup of 11 pull requests Successful merges: - #96763 (Fix maintainer validation message) - #106540 (Insert whitespace to avoid ident concatenation in suggestion) - #106763 (print why a test was ignored if its the only test specified) - #106769 (libtest: Print why a test was ignored if it's the only test specified.) - #106798 (Implement `signum` with `Ord`) - #107006 (Output tree representation on thir-tree) - #107078 (Update wording of invalid_doc_attributes docs.) - #107169 (Pass `--locked` to the x test tidy call) - #107431 (docs: remove colon from time header) - #107432 (rustdoc: remove unused class `has-srclink`) - #107448 (When stamp doesn't exist, should say Error, and print path to stamp file) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-01-29Rollup merge of #96763 - Abdur-rahmaanJ:patch-1, r=Mark-SimulacrumMatthias Krüger-6/+0
Fix maintainer validation message State clearly why maintainer verification is not activating, ruling out the user thinking they misconfigured something.
2023-01-29Upgrade mingw-w64 on CIMateusz Mikuła-31/+4
2023-01-24Port pgo.sh to PythonJakub Beránek-2/+665
2023-01-23Auto merge of #107044 - cuviper:more-llvm-ci, r=Mark-Simulacrumbors-0/+144
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-22fix maintainer validation messageAbdur-Rahmaan Janhangeer-6/+0
fix remove token check for maintainers fix: rm validate_maintainers function
2023-01-22Rollup merge of #107127 - uweigand:s390x-sanitizer, r=Mark-SimulacrumMatthias Krüger-1/+1
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-21Auto merge of #106948 - cuviper:ci-mingw-check, r=nikicbors-145/+72
ci: upgrade mingw-check to ubuntu:22.04
2023-01-20Enable sanitizers for s390x-linuxUlrich Weigand-1/+1
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-18Auto merge of #105716 - chriswailes:ndk-update-redux, r=pietroalbinibors-38/+13
Ndk update redux Blocked on https://github.com/rust-lang/blog.rust-lang.org/pull/1055
2023-01-18ci: add runners for vanilla LLVM 14 and 15Josh Stone-0/+144
2023-01-16ci: upgrade mingw-check to ubuntu:22.04Josh Stone-145/+72