about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2025-03-11Rollup merge of #138307 - Kobzol:citool-alias, r=marcoieniJakub Beránek-232/+343
Allow specifying glob patterns for try jobs This PR modifies the `try-job` lookup logic to allow glob patterns. So you can e.g. request all MSVC-related jobs with `try-job: *msvc*`. Best reviewed commit by commit. r? ``````@marcoieni`````` try-job: `*msvc*`
2025-03-10Ignore job duplicatesJakub Beránek-1/+5
2025-03-10Handle backticks in try job patternsJakub Beránek-2/+9
2025-03-10Allow using glob aliases for custom try jobsJakub Beránek-34/+116
2025-03-10Move job handling to a separate moduleJakub Beránek-230/+242
2025-03-10Make all keys explicit in citoolJakub Beránek-6/+12
Just to avoid surprises, the amount of used keys is not large.
2025-03-10Handle empty test suites in job summary reportJakub Beránek-3/+7
2025-03-07Rollup merge of #138013 - Kobzol:ci-post-merge-analysis, r=marcoieniJacob Pratt-9/+282
Add post-merge analysis CI workflow This PR adds a post-merge analysis workflow, which was discussed [here](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/Reporting.20test.20suite.20statistics.20after.20merge). The workflow currently analyzes test suite results from bootstrap metrics. It downloads metrics for all known jobs in the parent and current (HEAD) commit, compares them and prints a truncated diff. It then posts this diff to the merged PR as a comment. Later I also want to add other statistics to the analysis, e.g. changes in CI/bootstrap step durations. It can be tested locally e.g. using this: ``` cargo run --release --manifest-path src/ci/citool/Cargo.toml post-merge-report 3cb02729ab3c6583a3b1d1845c5e22b674f04b8d fd17deacce374a4185c882795be162e17b557050 ``` This uses a slightly older commit as a parent, to have more results in the diff (normally the diff won't be so large). CC `@jieyouxu` r? `@marcoieni`
2025-03-07Rollup merge of #137957 - Noratrieb:no, r=wesleywiserJacob Pratt-1/+1
Remove i586-pc-windows-msvc See [MCP 840](https://github.com/rust-lang/compiler-team/issues/840). I left a specialized error message that should help users that hit this in the wild (for example, because they use it in their CI). ``` error: Error loading target specification: the `i586-pc-windows-msvc` target has been removed. Use the `i686-pc-windows-msvc` target instead. Windows 10 (the minimum required OS version) requires a CPU baseline of at least i686 so you can safely switch. Run `rustc --print target-list` for a list of built-in targets ``` ``@workingjubilee`` ``@calebzulawski`` fyi portable-simd uses this target in CI, if you wanna remove it already before this happens
2025-03-07Add post-merge analysis CI workflowJakub Beránek-9/+282
2025-03-07Auto merge of #138127 - compiler-errors:rollup-kcarqrz, r=compiler-errorsbors-2/+6
Rollup of 17 pull requests Successful merges: - #137827 (Add timestamp to unstable feature usage metrics) - #138041 (bootstrap and compiletest: Use `size_of_val` from the prelude instead of imported) - #138046 (trim channel value in `get_closest_merge_commit`) - #138053 (Increase the max. custom try jobs requested to `20`) - #138061 (triagebot: add a `compiler_leads` ad-hoc group) - #138064 (Remove - from xtensa targets cpu names) - #138075 (Use final path segment for diagnostic) - #138078 (Reduce the noise of bootstrap changelog warnings in --dry-run mode) - #138081 (Move `yield` expressions behind their own feature gate) - #138090 (`librustdoc`: flatten nested ifs) - #138092 (Re-add `DynSend` and `DynSync` impls for `TyCtxt`) - #138094 (a small borrowck cleanup) - #138098 (Stabilize feature `const_copy_from_slice`) - #138103 (Git ignore citool's target directory) - #138105 (Fix broken link to Miri intrinsics in documentation) - #138108 (Mention me (WaffleLapkin) when changes to `rustc_codegen_ssa` occur) - #138117 ([llvm/PassWrapper] use `size_t` when building arg strings) r? `@ghost` `@rustbot` modify labels: rollup
2025-03-06Rollup merge of #138053 - Kobzol:more-try-jobs, r=marcoieniMichael Goulet-2/+6
Increase the max. custom try jobs requested to `20` Requested [here](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/Increase.20try-job.20limit). r? ````@marcoieni````
2025-03-06Rollup merge of #137798 - marcoieni:ubuntu-24-large-runner-arm, r=KobzolMichael Goulet-1/+1
ci: use ubuntu 24 on arm large runner try-job: dist-aarch64-linux
2025-03-05Increase the max. custom try jobs requested to `20`Jakub Beránek-2/+6
2025-03-05Apply review remarksJakub Beránek-2/+3
2025-03-05Remove Python metric upload script and package.jsonJakub Beránek-5095/+0
2025-03-05Upload Datadog average CPU usage metric in citoolJakub Beránek-15/+785
2025-03-05Make citool compilation fasterJakub Beránek-0/+4
2025-03-04Rollup merge of #137947 - Kobzol:fix-rfl, r=marcoieniJubilee-13/+10
Do not install rustup on Rust for Linux job Trying to fix the RfL job after the recent rustup update. r? ``@ghost`` try-job: x86_64-rust-for-linux
2025-03-04Rollup merge of #137667 - Kobzol:gcc-dist-build, r=onur-ozkanJubilee-1/+1
Add `dist::Gcc` build step This PR adds a `dist:Gcc` bootstrap step to distribute a prebuilt `libgccjit.so` from CI on x64 Linux. With primed sccache, the build takes ~4 minutes on CI, and produces a 50 MiB archive. I want to land this before adding something akin to `[gcc] download-ci-gcc = true`, to already have the artifacts available on CI, to make it easier to setup the download merge-base logic. r? ``@ghost``
2025-03-04Record bootstrap step durations into GitHub summary in citoolJakub Beránek-2/+28
2025-03-04Postprocess test suite metrics into GitHub summaryJakub Beránek-0/+164
2025-03-04ci: use ubuntu 24 on arm large runnerMarcoIeni-1/+1
2025-03-03Re-enable Rust for Linux CI jobJakub Beránek-3/+2
2025-03-03Do not use rustup to build Rust for LinuxJakub Beránek-10/+8
2025-03-03Rollup merge of #137946 - ehuss:ci-docker-readme, r=KobzolMatthias Krüger-2/+2
Fix docker run-local docs This fixes the docker run-local docs to have a valid cargo command.
2025-03-03Remove i586-pc-windows-msvcNoratrieb-1/+1
See MCP 840. I left a specialized error message that should help users that hit this in the wild (for example, because they use it in their CI).
2025-03-03Fix docker run-local docsEric Huss-2/+2
2025-03-03Skip Rust for Linux in CI temporarilyJakub Beránek-2/+3
2025-03-02Auto merge of #136864 - Kobzol:citool, r=marcoienibors-321/+1030
Rewrite the `ci.py` script in Rust It would seem that I would learn by now that any script written in Python will become unmaintainable sooner or later, but alas.. r? `@marcoieni` try-job: aarch64-gnu try-job: dist-x86_64-linux-alt try-job: x86_64-msvc-ext2 Fixes: https://github.com/rust-lang/rust/issues/137013
2025-02-28Build GCC on the Linux x64 dist runnerJakub Beránek-1/+1
2025-02-27Use original command for showing sccache statsJakub Beránek-1/+1
2025-02-26Auto merge of #136921 - Kobzol:gcc-build, r=onur-ozkanbors-46/+1
Build GCC on CI Previously, we have downloaded a specific commit of GCC and prebuilt it inside Docker using the `build-gccjit.sh` script. This PR removes that scripts and uses the bootstrap GCC step. This allows us to use the `src/gcc` submodule for determining which GCC should be built, and it also moves the logic closer to LLVM, which is also built by bootstrap. A few things to note: - The `sccache` option is currently in the `llvm` block, so the GCC build uses `llvm.ccache`, which is a bit weird :) We could either add `gcc.ccache`, or (what I think would be better) to just move `ccache` to the `build` section, as I don't think that it will be necessary to use ccache for LLVM, but not for GCC. - When the GCC codegen backend is built, it needs to depend on a step that first builds GCC. This is currently done in a hacky way. The proper solution is to create a separate step for the GCC codegen backend, but that is a larger change. Let me know what you think. r? `@onur-ozkan` try-job: i686-msvc-1 try-job: x86_64-mingw-1
2025-02-25Rollup merge of #137539 - GuillaumeGomez:copy-content-tests, r=notriddleLeón Orell Valerian Liehr-1/+1
Add rustdoc-gui regression test for #137082 Fixes https://github.com/rust-lang/rust/issues/137082. Added new commands in `browser-ui-test` allowing us to add a regression test for #137082 and also another to copy code examples content. r? `@notriddle`
2025-02-24Update browser-ui-test version to `0.20.3`Guillaume Gomez-1/+1
2025-02-22Auto merge of #137189 - Kobzol:update-host-llvm, r=nikicbors-1/+1
Update host LLVM to 20.1 on CI r? `@ghost`
2025-02-20Auto merge of #137023 - Kobzol:bump-sccache, r=marcoienibors-5/+11
Bump sccache in CI to 0.9.1 We haven't updated the used sccache version for years, it has accrued a bunch of fixes and features in the meantime. It now supports the `--show-adv-stats` flag, which gives a more detailed summary of the results of caching. And it can also cache Rust code, which could be useful in the future (https://github.com/rust-lang/rust/pull/136942 - although now there are no large wins). It also supports caching PGO now, but since the PGO profiles are always different, it won't make any real difference. https://github.com/rust-lang/rust/pull/133076 previously tried to update the version to 0.3 (CC `@klensy)` r? `@marcoieni`
2025-02-19Rollup merge of #136815 - ChrisDenton:fix-mingw-ci, r=KobzolMatthias Krüger-0/+6
CI: Stop /msys64/bin from being prepended to PATH in msys2 shell We used to do this along time ago but we stopped doing it when we started installing msys2 manually. https://github.com/rust-lang/rust/blob/4fd3cf96a1db7771ef4f332b9eb1ad17fa0fd091/src/ci/scripts/install-msys2.sh#L11-L13 Fixes #136795 try-job: dist-i686-mingw
2025-02-18Auto merge of #137176 - matthiaskrgr:rollup-eht05gr, r=matthiaskrgrbors-2/+2
Rollup of 9 pull requests Successful merges: - #136959 (Simplify switch sources) - #137020 (Pass vendored sources from bootstrap to generate-copyright) - #137073 (boostrap: skip no_std targets in Std doc step) - #137165 (Use `tell` for `<File as Seek>::stream_position`) - #137166 (Update default loongarch code model in docs) - #137168 (correct comment) - #137169 (CI: rfl: move job forward to Linux v6.14-rc3) - #137170 (Allow configuring jemalloc per target) - #137173 (Subtree update of `rust-analyzer`) r? `@ghost` `@rustbot` modify labels: rollup
2025-02-17Update host LLVM to 20.1 on CIJakub Beránek-1/+1
2025-02-17Auto merge of #135763 - nikic:llvm-20, r=cuviperbors-0/+4
Update to LLVM 20 LLVM 20 GA is scheduled for March 11th. Rust 1.87 will be stable on May 15th. * [x] https://github.com/rust-lang/rust/pull/135764 * [x] https://github.com/rust-lang/rust/pull/136134 * [x] https://github.com/rust-lang/compiler-builtins/pull/752 * [x] https://github.com/llvm/llvm-project/pull/125287 * [x] https://github.com/rust-lang/rust/pull/136537 * [x] https://github.com/rust-lang/rust/pull/136895 * [x] Wait for beta branch (Feb 14). Tested: host-x86_64, host-aarch64, apple, mingw, msvc
2025-02-17Default to the medium code model for the loongarch64-linux toolchainsWANG Rui-0/+4
The medium code model is already the default on the Rust side. Make sure that linked in C objects (e.g. from glibc) also use medium code model.
2025-02-17Trim channelJakub Beránek-1/+3
To avoid including a newline at the end, which broke `only_on_channel` comparison.
2025-02-17Trim try-job namesJakub Beránek-1/+1
2025-02-17Avoid double serialization of environment stringsJakub Beránek-21/+16
2025-02-17Add testsJakub Beránek-39/+324
2025-02-17Add comment to [workspace]Jakub Beránek-0/+3
2025-02-17Apply review commentsJakub Beránek-2/+7
2025-02-17Update documentationJakub Beránek-3/+3
2025-02-17Delete the previous Python scriptJakub Beránek-318/+0