Commit Graph

163 Commits

Author SHA1 Message Date
Matthias Krüger 86f6fae93d Rollup merge of #125590 - ChrisDenton:mingw-ci-3, r=Kobzol
Add a "Setup Python" action for github-hosted runners and remove unnecessary `CUSTOM_MINGW` environment variable

The Setup Python action isn't strictly necessary ([even on Windows](https://github.com/rust-lang/rust/pull/125584)) but it is [recommend by GitHub](https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#specifying-a-python-version).

The `CUSTOM_MINGW` environment variable is redundant now as it's always set for mingw and always unset otherwise.

try-job: x86_64-mingw
try-job: x86_64-mingw
try-job: dist-x86_64-msvc
try-job: dist-x86_64-mingw
2024-05-28 18:04:32 +02:00
Chris Denton 7a847fc4fb Use grep to implement verify-line-endings 2024-05-27 17:19:58 +00:00
Chris Denton f931290949 Update description of install-mingw 2024-05-27 09:32:25 +00:00
Chris Denton f63931bc1a Cleanup custom mingw in CI 2024-05-26 22:43:40 +00:00
Chris Denton 941aa47433 Do less reinstalling in mingw CI 2024-05-26 10:52:31 +00:00
Daniel Paoliello 5212e07a4e Upgrade the version of Clang used in the build, move MSVC builds to Server 2022 2024-05-09 12:18:09 -07:00
Jakub Beránek 246ee53637 Remove should-skip-this.sh 2024-04-24 11:12:17 +02:00
Jakub Beránek 9fec43ddf1 Move calculate-job-matrix.py to ci/github-actions 2024-04-20 09:06:04 +02:00
bors ccfcd950b3 Auto merge of #123451 - Kobzol:arbitrary-try-build, r=pietroalbini
CI: add a script for dynamically computing CI job matrix

It would be great if was easier to run specific CI workflows locally, and also to allow us to spawn a specific CI workflow by bors, to enable running arbitrary try builds. See discussion [here](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/CI.20workflows.20refactoring).

This PR is a first step in that direction.
- Moves the definition of CI runners and (for now) PR jobs into a separate `jobs.yml` file.
- Adds a simple Python script that reads the file, decides which jobs should be active for the current CI workflow, and prints them as JSON to their output.
- The PR job then reads this output and generates its job matrix based on it.

By moving the job definitions from `ci.yml` into a separate file, we can handle it programmatically, which should make it easier to both do local execution of CI jobs and also to do arbitrary try builds.
2024-04-15 21:28:25 +00:00
Jakub Beránek c22c81cbc1 Generate CI job matrix for PR jobs in Python 2024-04-04 14:45:02 +02:00
Jakub Beránek 508530dbc5 Output URLs of CI artifacts to GitHub summary 2024-04-03 15:33:40 +02:00
Nilstrieb b546764cbe Update ninja on Windows
Errors started showing up, and I read somewhere that this might be
because of old ninja versions. This ninja version is indeed *ancient*.

```
multiple outputs aren't (yet?) supported by depslog; bring this up on the mailing list if it affects you
```
2024-03-28 22:54:20 +01:00
bors c8f0d492a7 Auto merge of #122321 - majaha:mingw_ci_new, r=Mark-Simulacrum
`mv` tools off the path instead of `rm -r`-ing them in `install-msys2.sh`

This is a follow up patch to https://github.com/rust-lang/rust/pull/121182

r? `@Mark-Simulacrum`
2024-03-17 04:31:11 +00:00
Matt Harding 2c77140c7d mv instead of rm tools off path for msys2 install 2024-03-11 02:47:51 +00:00
Matthias Krüger 44c8a6acc6 Rollup merge of #122125 - majaha:mingw_ci_new, r=Mark-Simulacrum
Revert back to Git-for-Windows for MinGW CI builds

Following discussion in https://github.com/rust-lang/rust/pull/121182 it was decided to revert using MSYS2 Git for mingw builds.
2024-03-10 10:58:17 +01:00
Matt Harding c7a48a507a Revert back to Git-for-Windows for MinGW CI builds
In https://github.com/rust-lang/rust/pull/121182 the mingw build was
changed to use MSYS2's version of Git. This commit reverts that, as
it was considered too slow.
2024-03-07 03:09:29 +00:00
bors 0ecbd06057 Auto merge of #121182 - majaha:mingw_ci_new, r=Mark-Simulacrum
Improvements to building and CI for mingw/msys

I was getting error messages when trying to follow the build instructions the mingw build for Rust, and managed to track the issue down to an incomparability of Rust's bootstrap program with MSYS2's version of git. Essentially, the problem is that MSYS2's git works in emulated unix-y paths, but bootstrap expects a Windows path. I found a workaround for this by using relative paths instead of absolute paths.

Along with that fix, this PR also updates the build instructions for MinGW to be compatible with modern versions of MSYS2, and some changes to CI to make sure that MSYS2's version of git is tested. In particular, I'm suggesting using the [MSYS2 github action](https://github.com/marketplace/actions/setup-msys2) specially made for this purpose, which is much less hacky than the old approach and gives us more control of what packages are installed. I also cleaned up as many alternate versions of key tools as I could find from PATH, to avoid accidental usage, and cleaned up some abuses of the `CUSTOM_MINGW` environment variable.

This fixes https://github.com/rust-lang/rust/issues/105696 and fixes https://github.com/rust-lang/rust/issues/117567
2024-02-25 21:10:15 +00:00
Matt Harding 80459c14a4 Changes to CI related to mingw and MSYS 2024-02-16 09:26:30 +00:00
Eric Huss 4ce1f1cffc Require that SELECT_XCODE is set.
Allowing the Xcode version to "float" based on whatever default GitHub
selects creates an unreliable environment. When GitHub changes the
default, we can have multiple jobs in the same run using different
versions as it rolls out across machines. It can also cause oscillation
between runs as different machines are used. It also causes
unpredictable timing when the updates happen.

This change helps ensure that the version that is used is pinned. The
downside is that it requires manually bumping the version, and the risk
that if we take too long, older Xcodes will be removed and that will
break the build.
2024-02-10 21:02:16 -08:00
Eric Huss 2aebe6c302 CI: Use ninja on apple builders 2024-01-31 19:02:58 -08:00
Eric Huss f7e8739eac Add debug info for macOS CI actions 2024-01-10 10:54:46 -08:00
onur-ozkan 23446427fe merge if-available and if-unchanged for download-ci-llvm
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-11 18:29:11 +03:00
Jake Goulding 64090536d4 Install tidy for aarch64-apple-darwin
The GitHub Actions image has this preinstalled for x86_64 but not M1.
2023-11-08 08:54:42 -05:00
Jake Goulding 2bf3004f33 Install awscli on the aarch64-apple-darwin builder
Unlike the other builders, this one doesn't come with it preinstalled.
2023-10-09 19:02:03 -04:00
Jakub Beránek f6017250f8 Enable new bors try branch to run on CI 2023-10-05 16:13:52 +02:00
Michael Goulet 2ffef3949e Fix jq in CI 2023-09-25 14:30:26 +00:00
klensy e947bd705f remove hack, now CI uses (currently latest) SDK 10.0.22621.0
See https://github.com/rust-lang-ci/rust/actions/runs/5596259246/jobs/10233070602#step:24:929  C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_io.h
2023-07-19 13:49:46 +03: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
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
bors e350fe4e60 Auto merge of #109001 - matthiaskrgr:rollup-a3agnwp, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #105798 (Relax ordering rules for `asm!` operands)
 - #105962 (Stabilize path_as_mut_os_str)
 - #106085 (use problem matchers for tidy CI)
 - #107711 (Stabilize movbe target feature)
 - #108017 (Add `--no-undefined-version` link flag and fix associated breakage)
 - #108891 (Remove an extraneous include)
 - #108902 (no more do while :<)
 - #108912 (Document tool lints)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-03-11 07:28:44 +00:00
Pietro Albini 9c24608b50 record the cpu usage in a gitignored directory 2023-03-09 13:55:23 +01:00
Deadbeef ef807cb321 use problem matchers for tidy CI 2023-03-06 07:13:48 +00:00
Joshua Nelson 9dfec5d35b 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 effected).
2023-02-05 14:29:49 -06:00
Mateusz Mikuła f6ea2ea551 Upgrade mingw-w64 on CI 2023-01-29 13:01:06 +01:00
Albert Larsan 40ba0e84d5 Change src/test to tests in source files, fix tidy and tests 2023-01-11 09:32:13 +00:00
Pietro Albini 04acc1d9dc disable fast submodule checkout due to spurious ci failures 2023-01-10 16:33:16 +01:00
BlackHoleFox c46987b7dd Bring back XCode selection CI script
This reverts commit 8514b0097b.
2022-11-19 14:19:00 -06:00
Ralf Jung 9c26fec046 should-skip-this: add missing backslash 2022-10-12 08:19:50 +02:00
Ralf Jung 3d93c3848a run Miri CI when std::sys changes 2022-10-07 14:39:07 +02:00
Ralf Jung 9cc11e262f test Miri changes in PR CI; we no longer need xargo 2022-10-04 17:31:49 +02:00
Mark Rousskov 6c7f301145 Enable downloading prebuilt LLVM in test builders
See comment added for details on the test builder restriction. This is primarily
intended for macOS CI, but is likely to be a slight win on other builders too.
2022-08-20 09:47:59 -04:00
Matthias Krüger 87dd56f3d6 Rollup merge of #99772 - ehuss:reenable-submodule-archive, r=Mark-Simulacrum
Re-enable submodule archive downloads.

This is effectively a revert of #98423 (though it keeps the `--depth 1` flag since that is still helpful).

GitHub has indicated that they have been working on the original issue, and my testing shows that the llvm-project archive download now succeeds 100% of the time.

This should save about a minute on every job.
2022-08-04 22:25:00 +02:00
Ryan Levick 0942efdb66 Allow try-perf branch to run in CI 2022-07-31 18:53:34 +02:00
Eric Huss cefaa9faaf Re-enable submodule archive downloads. 2022-07-26 11:53:18 -07:00
Rémy Rakic 94f8ee1f7c bump CI LLVM to 14.0.5
The version 14.0.2 we currently use is busted on windows at the very
least.
2022-07-11 15:20:46 +02:00
Eric Huss 124557c05d Move init_repo.sh to checkout-submodules.sh
checkout-submodules.sh is no longer serving any purpose other than to
run init_repo.
2022-06-23 16:32:15 -07:00
Eric Huss 0143552b2c Remove unused CACHE_DIR in init_repo.
This was used long ago in Travis/Appveyor, but is no longer used.
2022-06-23 13:55:08 -07:00
Pietro Albini 6523ef41da update comment 2022-06-05 12:32:46 +02:00
Pietro Albini b926519d32 remove clean-disk script
The script wasn't referenced anywhere, and it's not useful anymore:
/opt/ghc is not present in new images, while /usr/share/dotnet is only
2.3 GB rather than 16 GB.
2022-06-05 12:30:01 +02:00