Commit Graph

189 Commits

Author SHA1 Message Date
Jakub Beránek 36719a90f7 Update sccache to 0.10.0
This time, does it also for Windows and macOS.
2025-03-12 16:11:24 +01:00
Jakub Beránek 6166f3d212 Remove Python metric upload script and package.json 2025-03-05 12:13:29 +01:00
Matthias Krüger 40379e299c Rollup merge of #136815 - ChrisDenton:fix-mingw-ci, r=Kobzol
CI: Stop /msys64/bin from being prepended to PATH in msys2 shell

We used to do this along time ago but we stopped doing it when we started installing msys2 manually. https://github.com/rust-lang/rust/blob/4fd3cf96a1db7771ef4f332b9eb1ad17fa0fd091/src/ci/scripts/install-msys2.sh#L11-L13

Fixes #136795

try-job: dist-i686-mingw
2025-02-19 21:16:11 +01:00
Matthias Krüger 6a7bff2915 Rollup merge of #137070 - Kobzol:ci-summary-invalid-link, r=marcoieni
Do not generate invalid links in job summaries

Avoid [this](https://github.com/rust-lang-ci/rust/actions/runs/13341911341#summary-37267605606). It has bugged me for quite some time :) When a directory is empty, the `*.xz` bash glob "expands" to a file called `*.xz`.

r? `@marcoieni`
2025-02-15 20:15:01 +01:00
Jakub Beránek e3412617df Do not generate invalid links in job summaries 2025-02-15 11:45:41 +01:00
Chris Denton cb9cb1de29 Don't error if stopping mysql fails in CI 2025-02-14 21:22:02 +00:00
MarcoIeni 7f38958e50 ci: remove more unused files and directories in free runners 2025-02-11 17:47:32 +01:00
Chris Denton 5573cd320c Prevent /msys64/bin from being prepended to PATH 2025-02-10 15:03:44 +00:00
MarcoIeni 4677d753f9 ci: stop mysql before removing it 2025-02-03 16:06:54 +01:00
MarcoIeni 053fa1c933 ci: refactor how directories are removed in free-disk-space disk 2025-01-30 15:06:23 +01:00
MarcoIeni 9b70b8bbbf CI: free disk with in-tree script instead of GitHub Action
Co-authored-by: whiteio <chriswhiteiodev@gmail.com>
2025-01-21 16:19:11 +01:00
Jakub Beránek 787c2a2c6a Reformat Python file 2024-12-31 13:14:04 +01:00
Horu 4c279fb7af chore: fix typos 2024-12-30 14:56:21 +07:00
Jakub Beránek 6e22b84296 [CI] Use a lockfile for installing the datadog package
Without a lockfile, it could fail to compile when the dependencies have changed.
2024-12-16 12:35:09 +01:00
Jakub Beránek 536516f949 Reformat Python code with ruff 2024-12-04 23:03:44 +01:00
onur-ozkan 4454fa998c add new CI step: "setup upstream remote"
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-10-12 08:58:39 +03:00
bors 44722bd9ba Auto merge of #125771 - Kobzol:ci-datadog-metrics, r=jdno
[CI] Upload average CPU utilization of CI jobs to DataDog

This PR adds a new CI step that uploads the average CPU utilization of the current GH job to Datadog. I want to add more metrics in follow-up PRs.

r? `@jdno`

try-job: dist-i686-msvc
try-job: aarch64-apple
try-job: x86_64-gnu-llvm-18
2024-10-02 13:56:55 +00:00
Jubilee Young a2a4ea0850 Partially revert "ci: Use mv instead of cp in upload step"
This partially reverts commit fe7c97c2e7.

I kept a mv, not a cp, for the one that shuffles major artifacts around,
because the size of those artifacts are big enough to matter, sometimes.
I don't think the diagnostic info will be that heavy, by comparison.
2024-09-27 12:02:02 -07:00
Jubilee Young 282d04489a Revert "ci: Try to remove unused Xcode dirs"
This reverts commit 06f49f6d53.
2024-09-27 11:45:59 -07:00
Jakub Beránek c1c0bd7a25 Upload average CPU consumption of CI jobs to DataDog 2024-09-27 11:39:52 +02:00
Mateusz Mikuła 4ee58db2f1 Upgrade CI's mingw-w64 toolchain 2024-09-01 12:37:26 +02:00
Jubilee Young 8da1c0049a ci: Take tail instead of head to avoid broken pipes 2024-08-30 20:51:52 -07:00
Jubilee Young 6cb4768ddd ci: Avoid legacy backticks in upload-artifacts.sh 2024-08-30 20:51:52 -07:00
Jubilee Young fe7c97c2e7 ci: Use mv instead of cp in upload step 2024-08-30 20:51:52 -07:00
Jubilee Young 06f49f6d53 ci: Try to remove unused Xcode dirs 2024-08-30 20:51:52 -07:00
onur-ozkan 48192701e0 use "bootstrap" instead of "rustbuild" in comments and docs
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-07-07 00:07:08 +03:00
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