about summary refs log tree commit diff
path: root/src/ci/citool
AgeCommit message (Collapse)AuthorLines
2025-10-02Rollup merge of #147233 - GuillaumeGomez:citool-submodule-init, r=KobzolMatthias Krüger-2/+22
Initialize llvm submodule if not already the case to run citool While working on https://github.com/rust-lang/rust/pull/146414, I ran the following command (to run CI docker locally): ``` cargo run --manifest-path src/ci/citool/Cargo.toml run-local --type pr x86_64-gnu-gcc ``` However, since I didn't have `src/llvm` submodule initialized, it failed. Apparently it's a common issue for people using this tool so this PR removes this small inconvenience. r? ``@Kobzol``
2025-10-01Initialize llvm submodule if not already the case to run citoolGuillaume Gomez-1/+21
2025-10-01Switch `citool` to 2024 editionGuillaume Gomez-1/+1
2025-09-30Remove usage of `compiletest-use-stage0-libtest` from CIJakub Beránek-1/+1
2025-08-23citool: cleanup `mismatched_lifetime_syntaxes` warningsSamuel Tardieu-3/+3
2025-07-21Enforce PR CI jobs are a subset of Auto CI jobs (modulo carve-outs)Jieyou Xu-5/+333
To prevent possibility of a PR with red PR-only CI passing Auto CI, then all subsequent PR CI runs will be red until that is fixed. Note that this is **not** a "strict" subset relationship: some jobs necessarily have to differ under PR CI and Auto CI environments. For instance: - `x86_64-gnu-tools` will have auto-only env vars like `DEPLOY_TOOLSTATES_JSON: toolstates-linux.json`. - `tidy` will want to `continue_on_error: true` in PR CI to allow for more "useful" compilation errors to also be reported, whereas it needs to `continue_on_error: false` in Auto CI to prevent wasting Auto CI resources. The carve-outs are: 1. `env` variables. 2. `continue_on_error`.
2025-07-03Auto merge of #143294 - ChrisDenton:rename-mingw, r=Kobzolbors-5/+5
Rename `mingw-*` CI jobs to `pr-*` The name `mingw` confuses people because these CI jobs now do much more than just cross-compile to mingw. This is basically a find/replace. I chose the name `pr-` because it's job is to do general PR checks,
2025-07-02Rename mingw-check-tidy to tidyChris Denton-2/+2
2025-07-01Rename mingw-* CI jobs to pr-*Chris Denton-5/+5
2025-07-01ci: support optional jobsMarcoIeni-6/+32
2025-06-09Run `calculate_matrix` job on the `master` branchJakub Beránek-1/+15
This allows us to reuse its cache on PR CI jobs.
2025-06-09Do not inherit environment variables in citool testsJakub Beránek-5/+10
So that we can make sure that they are reproducible locally.
2025-06-02Fix citool tests when executed ocallyJakub Beránek-0/+2
They couldn't be executed locally before due to some additional environment reads.
2025-05-30split `mingw-check` into twoonur-ozkan-3/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-05-28ci: verify that codebuild jobs use ghcr.ioMarcoIeni-1/+67
2025-05-24Update `askama` version to `0.14.0` in `citool`Guillaume Gomez-7/+7
2025-05-21ci: improve citool job db errorsMarcoIeni-4/+10
2025-04-23CI: use aws codebuild for job dist-arm-linuxMarcoIeni-1/+32
2025-04-20Remove stray newline from post-merge reportJakub Beránek-1/+1
2025-04-18Reduce duplicated test prefixes in nested subdirectoriesJakub Beránek-25/+17
`assembly/asm` contained a test named `asm/aarch64-el2vmsa.rs`, while it should have been only `arch64-el2vmsa.rs`.
2025-04-18Add a note that explains the countsJakub Beránek-0/+4
2025-04-17Add a note about the test dashboard to the post-merge reportJakub Beránek-1/+15
2025-04-17Turn `test_dashboard` into a fileJakub Beránek-0/+0
2025-04-17Print number of root tests and subdirectoriesJakub Beránek-1/+6
2025-04-17Create a macro for rendering test resultsJakub Beránek-3/+7
2025-04-17Render test revisions separatelyJakub Beránek-10/+46
2025-04-17Add a note about how to find tests that haven't been executed anywhere.Jakub Beránek-55/+22
2025-04-17Add buttons for expanding and collapsing all test suitesJakub Beránek-54/+84
2025-04-17Add command to `citool` for generating a test dashboardJakub Beránek-1/+433
2025-04-17Extract function for normalizing path delimiters to `utils`Jakub Beránek-7/+12
2025-04-17Make `parent` in `download_auto_job_metrics` optionalJakub Beránek-12/+13
2025-04-14Improve wording of post-merge reportJakub Beránek-11/+15
2025-04-10update miniz_oxide to 0.8.8oyvindln-2/+2
0.8.7 can trigger a panic when debug assertions are enabled when used via flate2 in some cases
2025-04-09Rollup merge of #139481 - Kobzol:post-merge-links, r=marcoieniMatthias Krüger-11/+153
Add job summary links to post-merge report This should make it much easier to investigate the individual job test/duration changes. The GitHub API handling is a bit crude, but I didn't want to include octocrab, because it more than doubles the current number of dependencies of `citool`... Can be tested with: ```bash $ cargo run --manifest-path src/ci/citool/Cargo.toml post-merge-report bad13a970a136389187dd1cf2f2fc737a8bea5fc 1e008dd5d83e782ad37fc9cf6824733f824cc8cd ``` r? ```@marcoieni```
2025-04-07Add job summary links to post-merge reportJakub Beránek-10/+152
This should make it much easier to investigate the individual job changes.
2025-04-07Sort job duration changes by absolute durationJakub Beránek-1/+1
It was supposed to be like this from the start, but I forgot to apply the `abs` operation, as I got sidetracked with how to actually compare floats...
2025-04-07enable in-tree std on some runnersonur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-03-27Add CI metadata to bootstrap metricsJakub Beránek-2/+2
This will allow us to provide links to CI workflows, jobs and summaries in the post-merge analysis report.
2025-03-27Add a note about interpreting job duration changesJakub Beránek-1/+9
2025-03-27Add cache for job metricsJakub Beránek-1/+19
2025-03-27Add job duration changes stats in post-merge analysisJakub Beránek-5/+57
2025-03-26Rollup merge of #138930 - Kobzol:analyze-bootstrap-diffs, r=marcoieniStuart Cook-28/+140
Add bootstrap step diff to CI job analysis This PR adds another analysis to the job analysis report in GitHub summary. It compares (diffs) bootstrap steps executed by the parent run and by the current commit. This will help us figure out if the bootstrap invocation did something different than before, and also how did the duration of individual steps and bootstrap invocations change. Can be tested on the https://github.com/rust-lang/rust/pull/119899 PR like this: ```bash $ curl https://ci-artifacts.rust-lang.org/rustc-builds/3d3394eb64ee2f99ad1a2b849b376220fd38263e/metrics-mingw-check.json > metrics.json $ cargo run --manifest-path src/ci/citool/Cargo.toml postprocess-metrics metrics.json --job-name mingw-check --parent 961351c76c812e3aeb65bfb542742500a6436aed > out.md ``` r? `@marcoie`
2025-03-25Add diff of bootstrap stepsJakub Beránek-28/+140
2025-03-22Group test diffs by stage in post-merge analysisJakub Beránek-18/+25
2025-03-18Remove double nesting in post-merge workflowJakub Beránek-8/+1
2025-03-17Rollup merge of #138533 - Kobzol:try-job-auto-tests, r=marcoieniMatthias Krüger-12/+19
Only use `DIST_TRY_BUILD` for try jobs that were not selected explicitly Some CI jobs (x64 Linux, ARM64 Linux and x64 MSVC) use the `opt-dist` tool to build an optimized toolchain using PGO and BOLT. When performing a default try build for x64 Linux, in most cases we want to run perf. on that artifact. To reduce the latency of this common use-case, `opt-dist` skips building several components not needed for perf., and it also skips running post-optimization tests, when it detects that the job is executed as a try job (not a merge/auto job). This is useful, but it also means that if you *want* to run the tests, you had to go to `jobs.yml` and manually comment this environment variable, create a WIP commit, do a try build, and then remove the WIP commit, which is annoying (in the similar way that modifying what gets run in try builds was annoying before we had the `try-job` annotations). I thought that we could introduce some additional PR description marker like `try-job-run-tests`, but it's hard to discover that such things exist. Instead, I think that there's a much simpler heuristic for determining whether `DIST_TRY_BUILD` should be used (that I implemented in this PR): - If you do just ``@bors` try`, without any custom try jobs selected, `DIST_TRY_BUILD` will be activated, to finish the build as fast as possible. - If you specify any custom try jobs, you are most likely doing experiments and you want to see if tests pass and everything builds as it should. The `DIST_TRY_BUILD` variable will thus *not* be set in this case. In this way, if you want to run dist tests, you can just add the `try-job: dist-x86_64-linux` line to the PR description, and you don't need to create any WIP commits. r? `@marcoieni`
2025-03-17Small review improvementsJakub Beránek-2/+2
2025-03-15Only use `DIST_TRY_BUILD` for try jobs that were not selected explicitlyJakub Beránek-12/+19
2025-03-15Reformat codeJakub Beránek-7/+10
2025-03-15Do not error out on missing parent metricsJakub Beránek-5/+18