about summary refs log tree commit diff
path: root/src/ci/github-actions
AgeCommit message (Collapse)AuthorLines
2024-05-09Upgrade the version of Clang used in the build, move MSVC builds to Server 2022Daniel Paoliello-15/+7
2024-05-05CI: fix auto builds and make sure that we always have at least a single CI jobJakub Beránek-1/+5
2024-05-05Address review commentsJakub Beránek-4/+8
2024-05-05Make the regex more robustJakub Beránek-1/+1
2024-05-05Parse try build CI job name from commit messageJakub Beránek-5/+46
2024-05-05Use sum type for `WorkflowRunType`Jakub Beránek-14/+26
2024-05-04Auto merge of #124562 - dpaoliello:mingwserver2022, r=Mark-Simulacrumbors-8/+16
Use Server 2022 in CI for mingw jobs From my [previous testing](https://github.com/rust-lang/rust/issues/92948#issuecomment-2077771347), there is nothing blocking using Server 2022 for the Windows MinGW jobs. This change: * Adds new `os` entries for Server 2022. * Renamed the Server 2019 `os` entries (as we'll be removing these over time). * Moves the mingw jobs to Server 2022 and leaves the msvc jobs on Server 2019. Partially fixes #92948
2024-05-02CI: remove `env-x86_64-apple-tests` YAML anchorJakub Beránek-10/+13
2024-04-30Use Server 2022 in CI for mingw jobsDaniel Paoliello-8/+16
2024-04-29Output `run_type` from the matrix calculation jobJakub Beránek-1/+14
2024-04-29Rename `JobType` to `WorkflowRunType`Jakub Beránek-13/+13
2024-04-29Remove the `expand-yaml-anchors` toolJakub Beránek-2/+0
2024-04-29Replace dynamically generated `ci.yml` file with the original templateJakub Beránek-301/+0
2024-04-29Unify outcome jobsJakub Beránek-19/+18
2024-04-27Add missing checkout stepJakub Beránek-0/+4
2024-04-27Move `TOOLSTATE_REPO` to top-level envJakub Beránek-1/+3
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-179/+97
2024-04-25Remove `master` CI jobJakub Beránek-19/+9
2024-04-24Turn CI_ONLY_WHEN_CHANNEL from an environment variable to a job attributeJakub Beránek-10/+9
2024-04-24Fix documentationJakub Beránek-2/+2
2024-04-24Remove step YAML anchor and `env.SKIP_JOB`Jakub Beránek-30/+2
2024-04-24Remove `should-skip-this.sh`Jakub Beránek-4/+0
2024-04-24Skip jobs based on the active channel in PythonJakub Beránek-0/+12
2024-04-24Use a type alias for a CI jobJakub Beránek-3/+5
2024-04-23Fix empty job matrixJakub Beránek-0/+8
2024-04-23Make separate envs for try and auto buildsJakub Beránek-3/+10
2024-04-23Fix image field in auto jobsJakub Beránek-56/+56
2024-04-23Load GitHub context from environment variablesJakub Beránek-14/+24
2024-04-20Move `auto` jobs to calculate-job-matrix.pyJakub Beránek-405/+415
2024-04-20Refactor `calculate-job-matrix.py`Jakub Beránek-23/+48
2024-04-20Perform PR and try builds dynamicallyJakub Beránek-34/+94
2024-04-20Move calculate-job-matrix.py to `ci/github-actions`Jakub Beránek-1/+26
2024-04-15Auto merge of #123451 - Kobzol:arbitrary-try-build, r=pietroalbinibors-14/+65
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-15Add commentsJakub Beránek-1/+7
2024-04-04Generate CI job matrix for PR jobs in PythonJakub Beránek-14/+59
2024-04-02CI: Redirect stderr to stdout to order GHA logsJakub Beránek-1/+2
2024-03-23Update upload-artifact to v4Nilstrieb-1/+1
This contains a breaking change around artifact merging no longer being done. This was not relied on, so it's fine.
2024-03-17Update the minimum external LLVM to 17Josh Stone-6/+1
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-0/+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/+5
2024-03-05build rustc with 1CGU on x86_64-pc-windows-msvcRémy Rakic-0/+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/+21
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/+21
2024-02-10Downgrade Xcode from the default (15.0) to 14.3.1.Eric Huss-4/+5
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-1/+1
https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/