-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add post-merge analysis CI workflow #138013
Conversation
|
This comment has been minimized.
This comment has been minimized.
☔ The latest upstream changes (presumably #138021) made this pull request unmergeable. Please resolve the merge conflicts. |
c40b798
to
6ec42d7
Compare
Rebased. @rustbot ready |
This comment has been minimized.
This comment has been minimized.
☔ The latest upstream changes (presumably #138058) made this pull request unmergeable. Please resolve the merge conflicts. |
6ec42d7
to
f04a2cc
Compare
Rebased. |
f04a2cc
to
d5da6b7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
very small details that don't matter, I'll approve this PR as it is now
|
||
for job in &job_db.auto_jobs { | ||
eprintln!("Downloading metrics of job {}", job.name); | ||
let metrics_parent = match download_job_metrics(&job.name, parent) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you could simplify this match with something like this:
download_job_metrics(&job.name, parent).inspect_err( eprintln!()).ok()
r#"Did not find metrics for job `{}` at `{}`: {error:?}. | ||
Maybe it was newly added?"#, | ||
job.name, parent |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r#"Did not find metrics for job `{}` at `{}`: {error:?}. | |
Maybe it was newly added?"#, | |
job.name, parent | |
r#"Did not find metrics for job `{}` at `{parent}`: {error:?}. | |
Maybe it was newly added?"#, | |
job.name |
@bors r+ |
Rollup of 12 pull requests Successful merges: - rust-lang#137337 (Add verbatim linker to AIXLinker) - rust-lang#137363 (compiler: factor Windows x86-32 ABI impl into its own file) - rust-lang#137537 (Prevent `rmake.rs` from using unstable features, and fix 3 run-make tests that currently do) - rust-lang#137606 (add a "future" edition) - rust-lang#137957 (Remove i586-pc-windows-msvc) - rust-lang#138000 (atomic: clarify that failing conditional RMW operations are not 'writes') - rust-lang#138013 (Add post-merge analysis CI workflow) - rust-lang#138033 (rustdoc: Add attribute-related tests for rustdoc JSON.) - rust-lang#138137 (setTargetTriple now accepts Triple rather than string) - rust-lang#138173 (Delay bug for negative auto trait rather than ICEing) - rust-lang#138184 (Allow anyone to relabel `CI-spurious-*`) - rust-lang#138187 (remove clones) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#138013 - Kobzol:ci-post-merge-analysis, r=marcoieni 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 3cb0272 fd17dea ``` 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`
This PR adds a post-merge analysis workflow, which was discussed here.
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:
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