summary refs log tree commit diff
path: root/.github/workflows
AgeCommit message (Collapse)AuthorLines
2024-07-12Lower timeout of CI jobs to 4 hoursJakub Beránek-1/+1
The previous value, 10 hours, is unnecessarily long, since most of our jobs finish within 2.5 hours currently.
2024-06-12Remove some msys2 utilsChris Denton-2/+0
2024-06-07CI: remove `Setup Python` actionJakub Beránek-6/+0
2024-06-05Fix publishing of toolstate historyJakub Beránek-1/+2
2024-05-26Add "Setup Python" action to github-hosted runnersChris Denton-0/+6
2024-05-26Cleanup custom mingw in CIChris Denton-3/+0
2024-05-15CI: fix toolstate publishingJakub Beránek-1/+2
2024-05-12Auto merge of #124883 - onur-ozkan:change-stage0-file, r=Mark-Simulacrumbors-1/+1
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-09awk stage0 file on CIonur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-05-05CI: fix auto builds and make sure that we always have at least a single CI jobJakub Beránek-8/+0
2024-05-05Parse try build CI job name from commit messageJakub Beránek-0/+2
2024-04-29Output `run_type` from the matrix calculation jobJakub Beránek-4/+5
2024-04-29Remove redundant `success` expressions from stepsJakub Beránek-2/+2
2024-04-29Remove redundant `success()` conditionJakub Beránek-1/+1
2024-04-29Replace dynamically generated `ci.yml` file with the original templateJakub Beránek-49/+121
2024-04-29Unify outcome jobsJakub Beránek-32/+8
2024-04-27Add missing checkout stepJakub Beránek-0/+4
2024-04-27Move `TOOLSTATE_REPO` to top-level envJakub Beránek-1/+2
2024-04-25Remove `master` push hookJakub Beránek-1/+0
2024-04-25Remove useless conditionJakub Beránek-1/+0
Neither `env.DEPLOY` nor `env.DEPLOY_ALT` should be present in this job.
2024-04-25Inline `base-ci-job` YAML anchor and remove unused anchorsJakub Beránek-5/+5
2024-04-25Remove `master` CI jobJakub Beránek-26/+5
2024-04-24Remove step YAML anchor and `env.SKIP_JOB`Jakub Beránek-26/+2
2024-04-24Remove `should-skip-this.sh`Jakub Beránek-3/+0
2024-04-23Fix empty job matrixJakub Beránek-0/+1
2024-04-23Load GitHub context from environment variablesJakub Beránek-2/+0
2024-04-20Move `auto` jobs to calculate-job-matrix.pyJakub Beránek-412/+2
2024-04-20Perform PR and try builds dynamicallyJakub Beránek-147/+8
2024-04-20Move calculate-job-matrix.py to `ci/github-actions`Jakub Beránek-1/+1
2024-04-15Auto merge of #123451 - Kobzol:arbitrary-try-build, r=pietroalbinibors-14/+14
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-04Generate CI job matrix for PR jobs in PythonJakub Beránek-14/+14
2024-04-02CI: Redirect stderr to stdout to order GHA logsJakub Beránek-3/+3
2024-03-26Revert `cargo update` changesclubby789-12/+7
2024-03-25Auto merge of #122951 - Nilstrieb:nodejs20, r=Kobzolbors-5/+5
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-23Update upload-artifact to v4Nilstrieb-5/+5
This contains a breaking change around artifact merging no longer being done. This was not relied on, so it's fine.
2024-03-23Rollup merge of #122698 - clubby789:cancel-hourly-update, r=Mark-SimulacrumMatthias Krüger-3/+6
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-18Cancel `cargo update` job if there's no changesclubby789-3/+6
2024-03-17Update the minimum external LLVM to 17Josh Stone-5/+1
2024-03-14Bump `cargo update` PR more oftenclubby789-2/+4
2024-03-12Auto merge of #112268 - lqd:osx-1cgu, r=Kobzolbors-1/+1
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-11Auto merge of #112267 - lqd:win-1cgu, r=Kobzolbors-1/+1
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-07ci: add a runner for vanilla LLVM 18Josh Stone-0/+4
2024-03-05build rustc with 1CGU on x86_64-pc-windows-msvcRémy Rakic-1/+1
2024-03-05build rustc with 1CGU on x86_64-apple-darwinRémy Rakic-1/+1
2024-03-02Promote OpenHarmony targets to tier 2Amanieu d'Antras-0/+3
MCP: rust-lang/compiler-team#719
2024-02-25Auto merge of #121182 - majaha:mingw_ci_new, r=Mark-Simulacrumbors-0/+33
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-16Changes to CI related to mingw and MSYSMatt Harding-0/+33
2024-02-10Downgrade Xcode from the default (15.0) to 14.3.1.Eric Huss-4/+6
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-04Use new publicly-available M1 runnersJake Goulding-2/+2
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
2024-02-04Re-enable M1 runners on GitHub ActionsJake Goulding-4/+16
This reverts commit 0f9844d10cc8210f1c0ef784ef8d67a1e073c3c1.