Commit Graph

237 Commits

Author SHA1 Message Date
Jakub Beránek b3e9060178
CI: fix auto builds and make sure that we always have at least a single CI job 2024-05-05 14:06:23 +02:00
Jakub Beránek 74dbe8ae9e
Parse try build CI job name from commit message 2024-05-05 14:06:23 +02:00
Jakub Beránek b194d5ce44
Output `run_type` from the matrix calculation job 2024-04-29 21:33:17 +02:00
Jakub Beránek adbc84cfac
Remove redundant `success` expressions from steps 2024-04-29 21:33:17 +02:00
Jakub Beránek 686baf5589
Remove redundant `success()` condition 2024-04-29 21:33:17 +02:00
Jakub Beránek 1ca92c0857
Replace dynamically generated `ci.yml` file with the original template 2024-04-29 21:32:35 +02:00
Jakub Beránek 23341500a6
Unify outcome jobs 2024-04-29 21:28:52 +02:00
Jakub Beránek a700897d5a
Add missing checkout step 2024-04-27 15:48:35 +02:00
Jakub Beránek 163ea3328b
Move `TOOLSTATE_REPO` to top-level env 2024-04-27 11:36:42 +02:00
Jakub Beránek e82c28debc
Remove `master` push hook 2024-04-25 11:06:27 +02:00
Jakub Beránek 86da0e758f
Remove useless condition
Neither `env.DEPLOY` nor `env.DEPLOY_ALT` should be present in this job.
2024-04-25 10:47:19 +02:00
Jakub Beránek 744dc2aa1d
Inline `base-ci-job` YAML anchor and remove unused anchors 2024-04-25 10:40:09 +02:00
Jakub Beránek 144bdf5bf1
Remove `master` CI job 2024-04-25 10:40:09 +02:00
Jakub Beránek 4942a35f24
Remove step YAML anchor and `env.SKIP_JOB` 2024-04-24 11:12:39 +02:00
Jakub Beránek 246ee53637
Remove `should-skip-this.sh` 2024-04-24 11:12:17 +02:00
Jakub Beránek 2632c6139d
Fix empty job matrix 2024-04-23 09:01:51 +02:00
Jakub Beránek c251abc7ec
Load GitHub context from environment variables 2024-04-23 08:52:28 +02:00
Jakub Beránek d2059aef27
Move `auto` jobs to calculate-job-matrix.py 2024-04-20 09:54:47 +02:00
Jakub Beránek 7a90679e28
Perform PR and try builds dynamically 2024-04-20 09:07:11 +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 ad75760637
CI: Redirect stderr to stdout to order GHA logs 2024-04-02 12:08:47 +02:00
Nilstrieb 24a0d7daff Update upload-artifact to v4
This contains a breaking change around artifact merging no longer being
done. This was not relied on, so it's fine.
2024-03-23 17:06:02 +01:00
Josh Stone 29430554f6 Update the minimum external LLVM to 17 2024-03-17 10:11:04 -07:00
bors 5aad51d015 Auto merge of #112268 - lqd:osx-1cgu, r=Kobzol
Build `rustc` with 1CGU on `x86_64-apple-darwin`

Distribute `x86_64-apple-darwin` artifacts built with `rust.codegen-units=1`, like we already do on Linux.

1) effect on code size on `x86_64-apple-darwin`: it's a 11.14% reduction on `librustc_driver.dylib`
- before, [`41d97c8a5dea2731b0e56fe97cd7cb79e21cff79`](https://ci-artifacts.rust-lang.org/rustc-builds/41d97c8a5dea2731b0e56fe97cd7cb79e21cff79/rustc-nightly-x86_64-apple-darwin.tar.xz): 161232048
- after, [`7549dbdc09f0c4f6cc84002ac03081828054784b`](https://ci-artifacts.rust-lang.org/rustc-builds/7549dbdc09f0c4f6cc84002ac03081828054784b/rustc-nightly-x86_64-apple-darwin.tar.xz): 143256928

2) time it took on CI:
- the [first `try` build](https://github.com/rust-lang-ci/rust/actions/runs/8155512915/job/22291187124) took: 1h 33m
- the [second `try` build](https://github.com/rust-lang-ci/rust/actions/runs/8157057880/job/22295839911) took: 1h 45m

3) most recent perf results on (a noisy) x64 mac are [here](https://github.com/rust-lang/rust/pull/112268#issuecomment-1575635073).

Related tracking issue for build configuration: #103595
2024-03-12 02:02:32 +00:00
bors 4a0cc881dc Auto merge of #112267 - lqd:win-1cgu, r=Kobzol
Build `rustc` with 1CGU on `x86_64-pc-windows-msvc`

Distribute `x86_64-pc-windows-msvc` artifacts built with `rust.codegen-units=1`, like we already do on Linux.

1) effect on code size on `x86_64-pc-windows-msvc`: it's a 3.67% reduction on `rustc_driver.dll`
- before, [`41d97c8a5dea2731b0e56fe97cd7cb79e21cff79`](https://ci-artifacts.rust-lang.org/rustc-builds/41d97c8a5dea2731b0e56fe97cd7cb79e21cff79/rustc-nightly-x86_64-pc-windows-msvc.tar.xz): 137605632
- after, [`704aaa875e4acccc973cbe4579e66afbac425691`](https://ci-artifacts.rust-lang.org/rustc-builds/704aaa875e4acccc973cbe4579e66afbac425691/rustc-nightly-x86_64-pc-windows-msvc.tar.xz): 132551680

2) time it took on CI
- the [first `try` build](https://github.com/rust-lang-ci/rust/actions/runs/8155647651/job/22291592507) took: 1h 31m
- the [second `try` build](https://github.com/rust-lang-ci/rust/actions/runs/8157043594/job/22295790552) took: 1h 32m

3) most recent perf results:
- on a slightly noisy desktop [here](https://github.com/rust-lang/rust/pull/112267#issuecomment-1575758155)
- ChrisDenton's results [here](https://github.com/rust-lang/rust/pull/112267#issuecomment-1583295338)

Related tracking issue for build configuration: #103595
2024-03-11 21:40:34 +00:00
Josh Stone bef1cd80d8 ci: add a runner for vanilla LLVM 18 2024-03-07 18:30:04 -08:00
Rémy Rakic 7d6969bb28 build rustc with 1CGU on x86_64-pc-windows-msvc 2024-03-05 16:50:48 +00:00
Rémy Rakic b36fa70917 build rustc with 1CGU on x86_64-apple-darwin 2024-03-05 16:42:42 +00:00
Amanieu d'Antras 5674f0662f Promote OpenHarmony targets to tier 2
MCP: rust-lang/compiler-team#719
2024-03-02 18:11:25 +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 4fd3cf96a1 Downgrade Xcode from the default (15.0) to 14.3.1.
This seems to fix two sporadic errors that have been appearing in CI.
One is an issue with cmake being unable to verify that cmake is able to
build a simple test program. The other is a `invalid r_symbolnum`
linking error when trying to build one of cranelift's tests.

This is intended as a temporary fix until we can figure out how to
resolve those issues.
2024-02-10 20:59:20 -08:00
Jake Goulding c2573c7574 Use new publicly-available M1 runners
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
2024-02-04 13:52:05 -05:00
Jake Goulding f47cb984b6 Re-enable M1 runners on GitHub Actions
This reverts commit 0f9844d10c.
2024-02-04 13:52:00 -05:00
Eric Huss 2aebe6c302 CI: Use ninja on apple builders 2024-01-31 19:02:58 -08:00
bors cdaa12e3df Auto merge of #120358 - tmandry:bump-fuchsia-8c-tests, r=Mark-Simulacrum
Bump Fuchsia, build tests, and use 8 core bots

- Build Fuchsia on 8 cores instead of 16
- Skip building cranelift for Fuchsia
- Bump Fuchsia (includes building tests)

This includes a change to the upstream build_fuchsia_from_rust_ci script that builds a minimal set of tests, to improve coverage on this builder. This would have caught https://github.com/rust-lang/rust-clippy/issues/11952 and #119593.

See prior discussion on #119400 about building on 8 cores instead of 16. This PR combines changes from that and #119399, plus clean up.

r? `@Mark-Simulacrum`
2024-01-31 07:40:02 +00:00
Tyler Mandry 40f5e6899d Build Fuchsia on 8 cores instead of 16 2024-01-26 13:09:21 -08:00
Jakub Beránek da5ab5ecd3
Cache CI Docker images in ghcr registry 2024-01-22 10:25:13 +01:00
Jan David 0f9844d10c
Temporarily disable M1 runners on GitHub Actions
This commit temporarily reverts the addition of M1 runners on GitHub
Actions to work around a billing issue related to their beta. It also
removes the `aarch64-apple` job, which was only added after the addition
of M1 runners. Since it has never been tested on the prior hardware, we
are skipping the tests to reduce the risk of build failures.
2024-01-03 15:20:03 +01:00
Pietro Albini 12b06ad51b
run fuchsia tests only on nightly 2023-12-21 18:27:24 +01:00
Tyler Mandry a1b9a59958 Build Fuchsia in CI 2023-12-07 16:30:36 -08:00
Dario Nieuwenhuis 7de6d04bc8 Update the minimum external LLVM to 16. 2023-11-21 22:40:16 +01:00
Jake Goulding 6909992501 Run tests in CI for aarch64-apple-darwin 2023-11-08 08:54:42 -05: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
Guillaume Gomez a141b6975b Rename `SKIP_CODEGEN_TESTS` into `ENABLE_GCC_CODEGEN` 2023-11-02 21:03:27 +01:00
Guillaume Gomez 13f7f052d8 Run codegen tests outside if not llvm-15 2023-11-02 21:03:27 +01:00
bors e6e931dda5 Auto merge of #117267 - RalfJung:miri-tests, r=Mark-Simulacrum
update which targets we test Miri on

I hope this doesn't cost too much time; running only the "pass" tests should be reasonably fast (1-2 minutes on my system).

Fixes https://github.com/rust-lang/rust/issues/117167
2023-10-30 15:38:24 +00:00
Ralf Jung b48adef3fd update which targets we test Miri on 2023-10-30 11:08:01 +01:00