about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2025-04-05Update the minimum external LLVM to 19Josh Stone-102/+6
2025-04-02Demote i686-pc-windows-gnu to Tier 2Noratrieb-28/+2
In accordance with RFC 3771. I also added a stub doc page for the target and renamed the windows-gnullvm page for consistency.
2025-03-27Add CI metadata to bootstrap metricsJakub Beránek-2/+4
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-21Disable CI mode when checking default bootstrap profilesJakub Beránek-1/+2
2025-03-19Auto merge of #138693 - matthiaskrgr:rollup-ejq8mwp, r=matthiaskrgrbors-8/+1
Rollup of 10 pull requests Successful merges: - #136177 (clarify BufRead::{fill_buf, consume} docs) - #138654 (Remove the regex dependency from coretests) - #138655 (rustc-dev-guide sync) - #138656 (Remove double nesting in post-merge workflow) - #138658 (CI: mirror alpine and centos images to ghcr) - #138659 (coverage: Don't store a body span in `FunctionCoverageInfo`) - #138661 (Revert: Add *_value methods to proc_macro lib) - #138670 (Remove existing AFIDT implementation) - #138674 (Various codegen_llvm cleanups) - #138684 (use then in docs for `fuse` to enhance readability) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-19Auto merge of #138690 - jieyouxu:temp-disable-fuchsia, r=Kobzolbors-7/+10
Temporarily disable Fuchsia test job to unblock queue See <https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/fuchsia.20failure/with/506637259> for efforts to fix the test job. This PR temporarily disables the Fuchsia test job to unblock the queue, so that neither the Fuchsia maintainers nor T-infra maintainers should feel pressured to fix the job ASAP. Please feel free to re-enable once the test job is fixed. FYI `@erickt` since you or other Fuchsia maintainers will need to revert this change to merge Fuchsia test job fixes in the future. r? infra-ci
2025-03-19Temporarily disable Fuchsia test job to unblock queueJieyou Xu-7/+10
See <https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/fuchsia.20failure/with/506637259> for efforts to fix the test job.
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-19/+24
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-17Rollup merge of #138531 - Kobzol:test-diff-try-build, r=marcoieniMatthias Krüger-470/+515
Store test diffs in job summaries and improve analysis formatting This PR stores the test diffs that we already have in the post-merge workflow also into individual job summaries. This makes it easier to compare test (and later also other) diffs per job, which will be especially useful for try jobs, so that we can actually see the test diffs *before* we merge a given PR. As a drive-by, I also made a bunch of cleanups in `citool` and in the formatting of the summary and post-merge analyses. These changes are split into self-contained commits. The analysis can be tested locally with the following command: ```bash $ curl https://ci-artifacts.rust-lang.org/rustc-builds/<current-sha>/metrics-<job-name>.json > metrics.json $ cargo run --manifest-path src/ci/citool/Cargo.toml postprocess-metrics metrics.json --job-name <job-name> --parent <parent-sha> > out.md ``` For example, for [this PR](https://github.com/rust-lang/rust/pull/138523): ```bash $ curl https://ci-artifacts.rust-lang.org/rustc-builds/282865097d138c7f0f7a7566db5b761312dd145c/metrics-aarch64-gnu.json > metrics.json $ cargo run --manifest-path src/ci/citool/Cargo.toml postprocess-metrics metrics.json --job-name aarch64-gnu --parent d9e5539a39192028a7b15ae596a8685017faecee > out.md ``` Best reviewed commit by commit. r? `@marcoieni` try-job: aarch64-gnu try-job: dist-x86_64-linux
2025-03-17Small review improvementsJakub Beránek-2/+2
2025-03-17replace config.toml to bootstrap.toml in src/ci, src/etc/* and tests/run-makebit-aloo-2/+2
2025-03-16Auto merge of #137011 - LuuuXXX:promote-ohos-with-host-tools, r=Amanieubors-7/+33
Promote ohos targets to tier2 with host tools. ### What does this PR try to resolve? Try to promote the following [[Tier 2 without Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools) targets to [[Tier 2 with Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools): - `aarch64-unknown-linux-ohos` - `armv7-unknown-linux-ohos` - `x86_64-unknown-linux-ohos` ### More Information? see MCP: https://github.com/rust-lang/compiler-team/issues/811 ### Blockage to be solved? - [x] Submit an MCP - [x] Submit code of promote ohos targets - [x] Resolve related dependencies (`measureme`) The modified code of the measureme has been merged (see https://github.com/rust-lang/measureme/pull/238). [done] The new version will was released (https://github.com/rust-lang/measureme/pull/240). [done]
2025-03-15Auto merge of #137665 - Kobzol:update-sccache, r=marcoienibors-5/+7
Update sccache to 0.10.0 This time, does it also for Windows and macOS. This unifies the sccache version across all OSes that we use. r? `@ghost` try-job: dist-aarch64-apple try-job: dist-x86_64-apple try-job: dist-x86_64-msvc try-job: dist-x86_64-msvc-alt try-job: dist-i686-msvc try-job: dist-aarch64-msvc try-job: dist-x86_64-linux try-job: dist-x86_64-netbsd
2025-03-15Only use `DIST_TRY_BUILD` for try jobs that were not selected explicitlyJakub Beránek-19/+24
2025-03-15Reformat codeJakub Beránek-7/+10
2025-03-15Do not error out on missing parent metricsJakub Beránek-5/+18
2025-03-15Put test differences into a `<details>` section and add better explanation ↵Jakub Beránek-34/+56
of the post merge report
2025-03-15Add a helper function for outputting detailsJakub Beránek-9/+18
2025-03-15Add bootstrap stage to test namesJakub Beránek-4/+11
2025-03-15Print test diffs into GitHub summaryJakub Beránek-6/+35
So that we can also observe them for try builds, before merging a PR.
2025-03-15Use first-level heading for test differences headerJakub Beránek-1/+1
2025-03-15Print number of found test diffsJakub Beránek-0/+1
2025-03-15Refactor metrics and analysis in citool to distinguish them betterJakub Beránek-219/+196
2025-03-15Print metrics postprocessing to stdoutJakub Beránek-28/+12
This allows the code to be simplified a little bit.
2025-03-15Rollup merge of #138507 - Kobzol:netbsd-mirror, r=Mark-SimulacrumLeón Orell Valerian Liehr-17/+9
Mirror NetBSD sources Should avoid issues with NetBSD servers. r? ``@Mark-Simulacrum`` try-job: `*netbsd*`
2025-03-15Rollup merge of #138454 - Kobzol:post-merge-workflow-fixes, r=jieyouxuLeón Orell Valerian Liehr-77/+138
Improve post-merge workflow Contains various fixes for the post-merge workflow implemented in https://github.com/rust-lang/rust/pull/138013, which were suggested on Zulip. This PR changes the grouping of test diffs and ignores doctests, as they are too noisy. I'll post an example output (before/after this PR) in comments below. r? ```@jieyouxu```
2025-03-15Rollup merge of #138451 - Kobzol:gcc-ci-build-gcc, r=GuillaumeGomezLeón Orell Valerian Liehr-1/+3
Build GCC on CI with GCC, not Clang It seems that GCC built with Clang misbehaves. I have tested that cg_gcc tests [pass](https://github.com/rust-lang/rust/actions/runs/13842365913/job/38732750617?pr=138451) on CI with a downloaded GCC that was built in this way. Prerequisite for https://github.com/rust-lang/rust/pull/138395. r? ```@ghost```
2025-03-14Mirror NetBSD sourcesJakub Beránek-17/+9
2025-03-14Rollup merge of #138487 - Kobzol:fix-doc-url-docker, r=marcoieniLeón Orell Valerian Liehr-0/+1
Pass `CI_JOB_DOC_URL` to Docker Fix-up for https://github.com/rust-lang/rust/pull/136911. I always forget to pass new environment variables to Docker images.. :man_facepalming: r? `@marcoieni` try-job: x86_64-fuchsia
2025-03-14Remove `RUN_CHECK_WITH_PARALLEL_QUERIES`Jakub Beránek-17/+0
It is useless after the removal of the parallel compiler configuration.
2025-03-14Pass `CI_JOB_DOC_URL` to DockerJakub Beránek-0/+1
2025-03-14Add clarification about doctestsJakub Beránek-1/+1
2025-03-14Rollup merge of #138396 - Kobzol:ci-metrics, r=marcoieniJacob Pratt-14/+5
Enable metrics and verbose tests in PR CI When debugging CI, I relatively often need to examine what tests are executed on PR CI, and what bootstrap steps does it execute. However, we currently disable both verbose tests and bootstrap metrics on PR CI for some reason. I'm not actually sure why though, as the PR that (probably) introduced this behavior (https://github.com/rust-lang/rust/pull/51367) didn't explain why. CC `@oli-obk`
2025-03-13Use GCC for building GCCJakub Beránek-1/+3
2025-03-13Output job doc URL to allow Rust Log Analyzer to access itJakub Beránek-0/+4
2025-03-13Fill `doc_url` for Rust for Linux and Fuchsia jobsJakub Beránek-0/+2
2025-03-13Add `doc_url` attribute to CI jobsJakub Beránek-1/+7
2025-03-13Do not print doctest diffs in the reportJakub Beránek-12/+44
When they are moved around in code, their name changes, which produces too noisy diffs.
2025-03-13Group diffs by tests, rather than job groupsJakub Beránek-76/+86
2025-03-13Add cache for downloading job metricsJakub Beránek-0/+17
To make it easier to experiment locally.
2025-03-13Print the compared SHAsJakub Beránek-0/+2
2025-03-13Fix pluralization of testsJakub Beránek-1/+1
2025-03-12Update sccache to 0.10.0Jakub Beránek-5/+7
This time, does it also for Windows and macOS.