Commit graph

297 commits

Author SHA1 Message Date
Rémy Rakic c006748f62 make bors ignore comments in PR template 2024-06-14 21:52:25 +00:00
Chris Denton 48d3425364
Remove some msys2 utils 2024-06-12 17:33:52 +00:00
Jakub Beránek 9ce12c4cab
CI: remove Setup Python action 2024-06-07 11:26:36 +02:00
Jakub Beránek 2fe41c68d3 Fix publishing of toolstate history 2024-06-05 16:41:59 +02:00
Chris Denton 19cfe8d9e6
Add "Setup Python" action to github-hosted runners 2024-05-26 22:43:52 +00:00
Chris Denton f63931bc1a
Cleanup custom mingw in CI 2024-05-26 22:43:40 +00:00
Matthias Krüger 7a90db7fb1
Rollup merge of #123492 - lcnr:master, r=davidtwco
add pull request template asking for relevant tracking issues

As mentioned at RustNation, I would like to remind PR authors to link to relevant tracking issues when opening PRs as it is otherwise very easy to forget doing so.

There's a certain amount of conflict between making the template as small as possible while still being clear for new contributors. I am very much open to changes here but really want to try this out.

Also unsure how much formal buy-in we need here. Maybe merge this pinging t-compiler and t-libs, and then ask how people feel about this on zulip in a few weeks?

r? `@davidtwco`
2024-05-21 20:28:47 +02:00
Jakub Beránek 7b6a3d029b
CI: fix toolstate publishing 2024-05-15 15:48:52 +02:00
bors 645bc609d9 Auto merge of #124883 - onur-ozkan:change-stage0-file, r=Mark-Simulacrum
use key-value format in stage0 file

Currently, we are working on the python removal task on bootstrap. Which means we have to extract some data from the stage0 file using shell scripts. However, parsing values from the stage0.json file is painful because shell scripts don't have a built-in way to parse json files.

This change simplifies the stage0 file format to key-value pairs, which makes it easily readable from any environment.

See the zulip thread for more details: https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/Using.20different.20format.20in.20the.20stage0.20file
2024-05-12 06:26:20 +00:00
lcnr 939a71162d update pull_request_templete 2024-05-09 18:20:00 +00:00
onur-ozkan efb153eb5a awk stage0 file on CI
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-05-09 16:49:51 +03:00
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
Matthias Krüger 036bf570ad
Rollup merge of #124327 - Kobzol:ci-skip-jobs, r=pietroalbini
CI: implement job skipping in Python matrix calculation

This removes the `step` YAML anchor and the corresponding bash script.

Best reviewed commit-by-commit.

r? ```@pietroalbini```
2024-04-25 06:31:04 +02:00
Oli Scherer 21906002ed Strengthen tracking issue policy with consequences 2024-04-24 13:55:38 +00: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
clubby789 c2de5aff71 Revert cargo update changes 2024-03-26 15:36:12 +00:00
bors fa374a8071 Auto merge of #122951 - Nilstrieb:nodejs20, r=Kobzol
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-25 04:39:30 +00: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
Matthias Krüger 154d0962ee
Rollup merge of #122698 - clubby789:cancel-hourly-update, r=Mark-Simulacrum
Cancel `cargo update` job if there's no updates

Previously there were always updates so we didn't hit this. Since #122489, this job runs on a more frequent schedule and causes errors if there have been no changes in that timespan.

This led to a weird error on https://github.com/rust-lang/rust/pull/122646#issuecomment-2004339093 - because of this I've replaced the `exit 1`s here with `gh run cancel` so we don't have false 'failed' jobs in the logs.
2024-03-23 15:00:17 +01:00
clubby789 986f23e57d Cancel cargo update job if there's no changes 2024-03-18 17:09:08 +00:00
Josh Stone 29430554f6 Update the minimum external LLVM to 17 2024-03-17 10:11:04 -07:00
clubby789 39e36af856 Bump cargo update PR more often 2024-03-14 11:24:09 +00: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