Skip to content

Compute job time in post-merge-report from the actual GitHub duration - #161235

Merged
rust-bors[bot] merged 4 commits into
rust-lang:mainfrom
Kobzol:citool-actual-job-time
Aug 18, 2026
Merged

Compute job time in post-merge-report from the actual GitHub duration#161235
rust-bors[bot] merged 4 commits into
rust-lang:mainfrom
Kobzol:citool-actual-job-time

Conversation

@Kobzol

@Kobzol Kobzol commented Aug 17, 2026

Copy link
Copy Markdown
Member

Up until now, the post-merge report analysis showed job durations computed from the sum of executed bootstrap steps. But this is quite confusing, because it does not correspond to the actual times we see on GitHub. I got quite worried recently about some durations, until I realized that I'm looking at something different than I thought I was.

r? jieyouxu

@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Aug 17, 2026

@jieyouxu jieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread src/ci/citool/src/analysis.rs Outdated
Comment thread src/ci/citool/src/github.rs Outdated
@Kobzol

Kobzol commented Aug 17, 2026

Copy link
Copy Markdown
Member Author

Rofl. I wrote the function in a way that it only compiles under Polonius.

@Kobzol
Kobzol force-pushed the citool-actual-job-time branch from a870429 to 4314166 Compare August 17, 2026 14:38
@rust-bors

This comment has been minimized.

@Kobzol
Kobzol force-pushed the citool-actual-job-time branch from 4314166 to 5fbbb20 Compare August 18, 2026 06:32
@rustbot

rustbot commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@jieyouxu jieyouxu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, r=me with a comment nit

View changes since this review

Comment on lines +241 to +244
let duration_before =
job_info_resolver.get_job_duration(job, parent).unwrap_or(Duration::ZERO);
let duration_after =
job_info_resolver.get_job_duration(job, &metrics.current).unwrap_or(Duration::ZERO);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NB: I wonder if we can indicate which of the {github, bootstrap} job duration source is actually being reported, but I think at least pairing the start/end times from the same source is sensible.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we talk about the duration of CI jobs, I think that reportin the GitHub job duration is obvious. We just didn't do the obvious thing previously 😆

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some benefits to reporting pure bootstrap time though, as it doesn't take into account Docker builds and other stuff that can be noisy. But the disadvantage is that it doesn't take into account Docker builds and... :)

Comment thread src/ci/citool/src/github.rs
@Kobzol

Kobzol commented Aug 18, 2026

Copy link
Copy Markdown
Member Author

@bors r=jieyouxu rollup

@rust-bors

rust-bors Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 119dda9 has been approved by jieyouxu

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 18, 2026
rust-bors Bot pushed a commit that referenced this pull request Aug 18, 2026
…uwer

Rollup of 11 pull requests

Successful merges:

 - #161024 (resolving cyclic glob vis-max)
 - #161231 (passes: `rustc_scalable_vector` fields are not dead)
 - #161238 (remove scalar size mismatch interpreter error, make it an ICE instead)
 - #160345 (Resolver: add `checked` methods for `Cm(Ref)Cell`)
 - #161129 (Avoid ICE when recovering parenthesized type parameters)
 - #161235 (Compute job time in post-merge-report from the actual GitHub duration)
 - #161239 (Fix `#[repr(transparent)]` wrapper types not working with `Complex<T>`)
 - #161244 (Add regression test for indexing an unsized static without a body)
 - #161257 (Ignore target feature test when LLVM fails to compile minicore)
 - #161258 (perf: return early from in_external_macro for root contexts)
 - #161278 (Add regression test for normalization failure on erased closure in async block)
@rust-bors
rust-bors Bot merged commit 8ef88fb into rust-lang:main Aug 18, 2026
13 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Aug 18, 2026
rust-bors Bot pushed a commit that referenced this pull request Aug 18, 2026
Rollup merge of #161235 - Kobzol:citool-actual-job-time, r=jieyouxu

Compute job time in post-merge-report from the actual GitHub duration

Up until now, the post-merge report analysis showed job durations computed from the sum of executed bootstrap steps. But this is quite confusing, because it does not correspond to the actual times we see on GitHub. I got quite worried recently about some durations, until I realized that I'm looking at something different than I thought I was.

r? jieyouxu
@Kobzol
Kobzol deleted the citool-actual-job-time branch August 18, 2026 16:55
RalfJung pushed a commit to RalfJung/miri that referenced this pull request Aug 19, 2026
…uwer

Rollup of 11 pull requests

Successful merges:

 - rust-lang/rust#161024 (resolving cyclic glob vis-max)
 - rust-lang/rust#161231 (passes: `rustc_scalable_vector` fields are not dead)
 - rust-lang/rust#161238 (remove scalar size mismatch interpreter error, make it an ICE instead)
 - rust-lang/rust#160345 (Resolver: add `checked` methods for `Cm(Ref)Cell`)
 - rust-lang/rust#161129 (Avoid ICE when recovering parenthesized type parameters)
 - rust-lang/rust#161235 (Compute job time in post-merge-report from the actual GitHub duration)
 - rust-lang/rust#161239 (Fix `#[repr(transparent)]` wrapper types not working with `Complex<T>`)
 - rust-lang/rust#161244 (Add regression test for indexing an unsized static without a body)
 - rust-lang/rust#161257 (Ignore target feature test when LLVM fails to compile minicore)
 - rust-lang/rust#161258 (perf: return early from in_external_macro for root contexts)
 - rust-lang/rust#161278 (Add regression test for normalization failure on erased closure in async block)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants