Commit Graph

366 Commits

Author SHA1 Message Date
Jakub Beránek 27cca0a161 Add CI metadata to bootstrap metrics
This will allow us to provide links to CI workflows, jobs and summaries in the post-merge analysis report.
2025-03-27 17:03:08 +01:00
Matthias Krüger cc06501b4b Rollup merge of #138658 - marcoieni:mirror-alpine-and-centos, r=Kobzol
CI: mirror alpine and centos images to ghcr
2025-03-19 08:17:16 +01:00
MarcoIeni d76e89f363 CI: mirror alpine and centos images to ghcr 2025-03-18 11:35:16 +01:00
Jakub Beránek 9dac4797be Remove double nesting in post-merge workflow 2025-03-18 10:24:25 +01:00
Matthias Krüger 5786233b81 Rollup merge of #138531 - Kobzol:test-diff-try-build, r=marcoieni
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 d9e5539a39 > out.md
```

Best reviewed commit by commit.

r? `@marcoieni`

try-job: aarch64-gnu
try-job: dist-x86_64-linux
2025-03-17 22:49:05 +01:00
Jakub Beránek c9d314773e Small review improvements 2025-03-17 21:48:39 +01:00
bit-aloo 1954494ec9 change config.toml to bootstrap.toml for bootstrap module 2025-03-17 12:56:41 +05:30
Jakub Beránek 30d57576b9 Print test diffs into GitHub summary
So that we can also observe them for try builds, before merging a PR.
2025-03-15 11:16:11 +01:00
Jakub Beránek 09d44a48b2 Print metrics postprocessing to stdout
This allows the code to be simplified a little bit.
2025-03-15 09:24:43 +01:00
Jakub Beránek 301c384262 Do not fail the build if metrics postprocessing or DataDog upload fails 2025-03-15 09:24:42 +01:00
Jakub Beránek 899eed15ad Refactor metrics generation step 2025-03-15 09:24:42 +01:00
León Orell Valerian Liehr 756b17975f Rollup merge of #138454 - Kobzol:post-merge-workflow-fixes, r=jieyouxu
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-15 00:18:23 +01:00
Jakub Beránek 0c6d24e373 Print job doc URL on job failure 2025-03-13 14:56:57 +01:00
Jakub Beránek 611764417b Output job doc URL to allow Rust Log Analyzer to access it 2025-03-13 14:48:18 +01:00
Jakub Beránek 5a7f227351 Collapse report in <details> 2025-03-13 14:31:31 +01:00
Jakub Beránek 208cef45fc Add note about the experimental status 2025-03-13 13:17:20 +01:00
许杰友 Jieyou Xu (Joe) c00a5c0889 Fix post-merge workflow
The command is called `post-merge-report` not `post-merge-analysis`.
2025-03-11 12:06:38 +08:00
Jakub Beránek ff674232d1 Fix checkout in post-merge workflow 2025-03-08 12:46:33 +01:00
Jakub Beránek 871be8f54a Add missing GH_TOKEN environment variable
It is needed for using the `gh` CLI commands.
2025-03-08 12:46:24 +01:00
Jakub Beránek d5da6b71fa Add post-merge analysis CI workflow 2025-03-07 09:43:52 +01:00
Jakub Beránek 6130b3da18 Upload Datadog average CPU usage metric in citool 2025-03-05 12:13:29 +01:00
Jakub Beránek 26e42de17c Make citool compilation faster 2025-03-05 12:11:15 +01:00
Jakub Beránek 6463590f0c Postprocess test suite metrics into GitHub summary 2025-03-04 12:30:41 +01:00
Matthias Krüger 0b66424068 Rollup merge of #137849 - jieyouxu:undo-workaround, r=Kobzol
Revert "Remove Win SDK 10.0.26100.0 from CI"

Part of #137733.
Resolves #137733.

The remove-latest-windows-sdk workaround workaround should no longer be necessary, now that we bumped (1) cargo `cc` and (2) `rustc_{codegen_ssa,llvm}` `cc`.

This reverts commit 25617c7e69, the remove-latest-windows-sdk workaround from #137753.

try-job: i686-msvc-1
try-job: i686-msvc-2
try-job: dist-i686-msvc
2025-03-03 10:41:01 +01:00
bors 4b696e6bf7 Auto merge of #136864 - Kobzol:citool, r=marcoieni
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-03-02 09:18:02 +00:00
许杰友 Jieyou Xu (Joe) 32de3b95a6 Revert "Remove Win SDK 10.0.26100.0 from CI"
This reverts commit 25617c7e69.
2025-03-01 19:01:12 +08:00
Chris Denton 25617c7e69 Remove Win SDK 10.0.26100.0 from CI 2025-02-28 09:13:00 +00:00
bors eeb9035117 Auto merge of #137023 - Kobzol:bump-sccache, r=marcoieni
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-20 05:59:04 +00:00
Jakub Beránek ae6d93ce13 Test citool on CI 2025-02-17 12:30:02 +01:00
Jakub Beránek 7f154fa4d1 Update documentation 2025-02-17 12:27:44 +01:00
Jakub Beránek 87c49f025f Use citool in CI 2025-02-17 12:27:44 +01:00
Jakub Beránek 5789fc0db1 Add sccache S3 region 2025-02-14 12:30:07 +01:00
Chris Denton ec8ec41d9e Print the environment a second time 2025-02-10 15:06:41 +00:00
Chris Denton c94ab207fe Don't install msys2
windows-msvc doesn't need it and windows-gnu has its own version
2025-02-05 14:22:54 +00:00
MarcoIeni 9b70b8bbbf CI: free disk with in-tree script instead of GitHub Action
Co-authored-by: whiteio <chriswhiteiodev@gmail.com>
2025-01-21 16:19:11 +01:00
Guillaume Gomez 857bc5be87 Rollup merge of #135679 - onur-ozkan:bootstrap-issue-template, r=jieyouxu
create an issue template for bootstrap

Resolves #135593

cc `@rust-lang/bootstrap`
2025-01-19 11:48:15 +01:00
onur-ozkan 59d7213bae create an issue template for bootstrap
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2025-01-19 13:06:27 +03:00
bors 0493557083 Auto merge of #135682 - matthiaskrgr:rollup-cl7zlt1, r=matthiaskrgr
Rollup of 7 pull requests

Successful merges:

 - #133700 (const-eval: detect more pointers as definitely not-null)
 - #135290 (Encode constraints that hold at all points as logical edges in location-sensitive polonius)
 - #135478 (Run clippy for rustc_codegen_gcc on CI)
 - #135583 (Move `std::pipe::*` into `std::io`)
 - #135612 (Include x scripts in tarballs)
 - #135624 (ci: mirror buildkit image to ghcr)
 - #135661 (Stabilize `float_next_up_down`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-01-18 18:40:20 +00:00
MarcoIeni 5f495153f0 ci: mirror buildkit image to ghcr 2025-01-17 12:59:48 +01:00
MarcoIeni 5d07ee860f ci: improve github action name 2025-01-17 11:41:40 +01:00
MarcoIeni f5fe0a0293 ci: mirror ubuntu:22.04 to ghcr.io 2025-01-16 11:21:41 +01:00
Jakub Beránek c8b29d6f6f CI: fix name of jobs
There is a difference between the `image` (the Dockerfile), the `name` of the job (which determines also its properties) and the `full_name`, which includes the `auto/try/pr` prefix.
2025-01-09 21:40:29 +01:00
Matthias Krüger d487294ffd Rollup merge of #134898 - Kobzol:ci-python-script, r=MarcoIeni
Make it easier to run CI jobs locally

This PR extends the Python CI script to perform a poor man's CI-like execution of a given CI job locally. It's not perfect, but it's better than nothing.

r? `@jieyouxu`
2025-01-09 14:34:35 +01:00
Jakub Beránek 0cc11f8c48 Add a command to run a given Linux CI job locally 2025-01-07 18:15:13 +01:00
Jakub Beránek 8ecd033654 Rename CI script from calculate-job-matrix to ci.py 2025-01-07 18:15:13 +01:00
Urgau 70123283be Remove workaround from pull request template
as triagebot/rustbot now ignores HTML blocks.

cf. https://github.com/rust-lang/triagebot/pull/1869
2025-01-07 07:35:08 +01:00
MarcoIeni b731c36faa ci: use ubuntu 24 instead of latest 2024-12-19 16:02:05 +01:00
bors 13b77c687c Auto merge of #134095 - Kobzol:datadog-lockfile, r=MarcoIeni
[CI] Use a lockfile for installing the `datadog` package

Without a lockfile, it could fail to compile when the dependencies have changed. Reported [here](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/CI.20failure.20in.20DataDog.20upload).

r? `@jdno`

try-job: x86_64-msvc-ext2
2024-12-16 23:07:24 +00:00
Jakub Beránek 6e22b84296 [CI] Use a lockfile for installing the datadog package
Without a lockfile, it could fail to compile when the dependencies have changed.
2024-12-16 12:35:09 +01:00
Jakub Beránek 4f14890394 Configure renovatebot 2024-12-09 12:07:11 +01:00