about summary refs log tree commit diff
path: root/src/ci/scripts
AgeCommit message (Collapse)AuthorLines
2024-05-09Upgrade the version of Clang used in the build, move MSVC builds to Server 2022Daniel Paoliello-5/+11
2024-04-24Remove `should-skip-this.sh`Jakub Beránek-21/+0
2024-04-20Move calculate-job-matrix.py to `ci/github-actions`Jakub Beránek-25/+0
2024-04-15Auto merge of #123451 - Kobzol:arbitrary-try-build, r=pietroalbinibors-0/+25
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-0/+25
2024-04-03Output URLs of CI artifacts to GitHub summaryJakub Beránek-0/+14
2024-03-28Update ninja on WindowsNilstrieb-1/+1
Errors started showing up, and I read somewhere that this might be because of old ninja versions. This ninja version is indeed *ancient*. ``` multiple outputs aren't (yet?) supported by depslog; bring this up on the mailing list if it affects you ```
2024-03-17Auto merge of #122321 - majaha:mingw_ci_new, r=Mark-Simulacrumbors-10/+13
`mv` tools off the path instead of `rm -r`-ing them in `install-msys2.sh` This is a follow up patch to https://github.com/rust-lang/rust/pull/121182 r? `@Mark-Simulacrum`
2024-03-11mv instead of rm tools off path for msys2 installMatt Harding-10/+13
2024-03-10Rollup merge of #122125 - majaha:mingw_ci_new, r=Mark-SimulacrumMatthias Krüger-6/+8
Revert back to Git-for-Windows for MinGW CI builds Following discussion in https://github.com/rust-lang/rust/pull/121182 it was decided to revert using MSYS2 Git for mingw builds.
2024-03-07Revert back to Git-for-Windows for MinGW CI buildsMatt Harding-6/+8
In https://github.com/rust-lang/rust/pull/121182 the mingw build was changed to use MSYS2's version of Git. This commit reverts that, as it was considered too slow.
2024-02-25Auto merge of #121182 - majaha:mingw_ci_new, r=Mark-Simulacrumbors-14/+37
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-14/+37
2024-02-10Require that SELECT_XCODE is set.Eric Huss-3/+1
Allowing the Xcode version to "float" based on whatever default GitHub selects creates an unreliable environment. When GitHub changes the default, we can have multiple jobs in the same run using different versions as it rolls out across machines. It can also cause oscillation between runs as different machines are used. It also causes unpredictable timing when the updates happen. This change helps ensure that the version that is used is pinned. The downside is that it requires manually bumping the version, and the risk that if we take too long, older Xcodes will be removed and that will break the build.
2024-01-31CI: Use ninja on apple buildersEric Huss-0/+2
2024-01-10Add debug info for macOS CI actionsEric Huss-0/+16
2023-11-11merge `if-available` and `if-unchanged` for `download-ci-llvm`onur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-08Install tidy for aarch64-apple-darwinJake Goulding-0/+24
The GitHub Actions image has this preinstalled for x86_64 but not M1.
2023-10-09Install `awscli` on the aarch64-apple-darwin builderJake Goulding-0/+29
Unlike the other builders, this one doesn't come with it preinstalled.
2023-10-05Enable new bors try branch to run on CIJakub Beránek-1/+1
2023-09-25Fix jq in CIMichael Goulet-1/+1
2023-07-19remove hack, now CI uses (currently latest) SDK 10.0.22621.0klensy-5/+0
See https://github.com/rust-lang-ci/rust/actions/runs/5596259246/jobs/10233070602#step:24:929 C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_io.h
2023-06-12Publish docs as github artifacts during CITrevor Gross-0/+42
This PR saves library docs as github artifacts so they can be easily viewed for review. Discussed in <https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Building.20docs.20for.20PR.20CI>
2023-04-28Remove aws cli install.Eric Huss-38/+0
2023-04-28Update awscliEric Huss-3/+4
2023-03-11Auto merge of #109001 - matthiaskrgr:rollup-a3agnwp, r=matthiaskrgrbors-0/+2
Rollup of 8 pull requests Successful merges: - #105798 (Relax ordering rules for `asm!` operands) - #105962 (Stabilize path_as_mut_os_str) - #106085 (use problem matchers for tidy CI) - #107711 (Stabilize movbe target feature) - #108017 (Add `--no-undefined-version` link flag and fix associated breakage) - #108891 (Remove an extraneous include) - #108902 (no more do while :<) - #108912 (Document tool lints) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-03-09record the cpu usage in a gitignored directoryPietro Albini-2/+3
2023-03-06use problem matchers for tidy CIDeadbeef-0/+2
2023-02-05Run the tools builder on all PRsJoshua Nelson-36/+1
Previously, it would only run on changes to subtrees, submodules, or select directories. That made it so that changes to the compiler that broke tools would only be detected on a full bors merge. This makes it so the tools builder runs by default, making it easier to catch breaking changes to clippy (which was the most effected).
2023-01-29Upgrade mingw-w64 on CIMateusz Mikuła-21/+2
2023-01-11Change `src/test` to `tests` in source files, fix tidy and testsAlbert Larsan-1/+1
2023-01-10disable fast submodule checkout due to spurious ci failuresPietro Albini-7/+8
2022-11-19Bring back XCode selection CI scriptBlackHoleFox-0/+13
This reverts commit 8514b0097b28f84ee5cfead059a5771c6a693fb0.
2022-10-12should-skip-this: add missing backslashRalf Jung-1/+1
2022-10-07run Miri CI when std::sys changesRalf Jung-1/+4
2022-10-04test Miri changes in PR CI; we no longer need xargoRalf Jung-2/+3
2022-08-20Enable downloading prebuilt LLVM in test buildersMark Rousskov-0/+4
See comment added for details on the test builder restriction. This is primarily intended for macOS CI, but is likely to be a slight win on other builders too.
2022-08-04Rollup merge of #99772 - ehuss:reenable-submodule-archive, r=Mark-SimulacrumMatthias Krüger-10/+7
Re-enable submodule archive downloads. This is effectively a revert of #98423 (though it keeps the `--depth 1` flag since that is still helpful). GitHub has indicated that they have been working on the original issue, and my testing shows that the llvm-project archive download now succeeds 100% of the time. This should save about a minute on every job.
2022-07-31Allow try-perf branch to run in CIRyan Levick-1/+1
2022-07-26Re-enable submodule archive downloads.Eric Huss-10/+7
2022-07-11bump CI LLVM to 14.0.5Rémy Rakic-1/+2
The version 14.0.2 we currently use is busted on windows at the very least.
2022-06-23Move init_repo.sh to checkout-submodules.shEric Huss-4/+65
checkout-submodules.sh is no longer serving any purpose other than to run init_repo.
2022-06-23Remove unused CACHE_DIR in init_repo.Eric Huss-8/+1
This was used long ago in Travis/Appveyor, but is no longer used.
2022-06-05update commentPietro Albini-1/+1
2022-06-05remove clean-disk scriptPietro Albini-16/+0
The script wasn't referenced anywhere, and it's not useful anymore: /opt/ghc is not present in new images, while /usr/share/dotnet is only 2.3 GB rather than 16 GB.
2022-06-05remove azure pipelines configurationPietro Albini-30/+0
2022-06-05Auto merge of #93717 - pietroalbini:pa-ci-profiler, r=Mark-Simulacrumbors-4/+9
Add build metrics to rustbuild This PR adds a new module of rustbuild, `ci_profiler`, whose job is to gather as much information as possible about the CI build as possible and store it in a JSON file uploaded to `ci-artifacts`. Right now for each step it collects: * Type name and debug representation of the `Step` object. * Duration of the step (excluding child steps). * Systemwide CPU stats for the duration of the step (both single core and all cores). * Which child steps were executed. This is capable of replacing both the scripts to collect CPU stats and the `[TIMING]` lines in build logs (not yet removed, until we port our tooling to use the CI profiler). The format is also extensible to be able in the future to collect more information. r? `@Mark-Simulacrum`
2022-05-22fix uploading build metrics on ciPietro Albini-5/+7
2022-05-08Switch CI bucket to intelligent tieringMark Rousskov-1/+2
We currently upload approximately 166 GB/day into this bucket (estimate based on duration of storage and total current size). My estimate is that this change should decrease our costs (which are currently in credits) and is in the worst case (if all objects are brought into hot storage due to unanticipated frequent access) only going to add an additional ~$4 to the monthly bill. If access is rare (as expected) to most objects then we expect to save approximately ~$350/month (after this change takes full effect in ~168 days).
2022-05-06Update LLVM version used to build OS X and Windows artifacts to 14.0.2Jakub Beránek-1/+1