summary refs log tree commit diff
path: root/.github
AgeCommit message (Collapse)AuthorLines
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-21Rollup merge of #123492 - lcnr:master, r=davidtwcoMatthias Krüger-0/+10
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-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-09update pull_request_templetelcnr-0/+10
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-25Rollup merge of #124327 - Kobzol:ci-skip-jobs, r=pietroalbiniMatthias Krüger-29/+2
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-24Strengthen tracking issue policy with consequencesOli Scherer-0/+2
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/