Repository navigation
Build times include the uploads - #148
Merged
Merged
Conversation
rs <distro> upload records how long each package's upload took in the build job's journal, next to its build time, and update-build-timings adds it to the recipe's time. A compatibility package's upload counts for its ros2- package, which it is built right after. Uploads aren't small next to the builds: lyrical's (prefix.dev and anaconda.org, with attestations) take about 9.6 s per package against jazzy's 2.2 s (anaconda.org only), so vinca packed lyrical's jobs as if a large part of their time were free. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The build jobs are packed by each recipe's measured build time (#139), but the uploads that follow the builds weren't measured. They aren't small:
So vinca packed lyrical's jobs as if a large part of their time were free. That's one reason lyrical's Linux rebuild only got about 45% faster, against roughly 60% for humble's.
Changes:
rs <distro> uploadrecords each package's upload time in the job'sbuild_timings.jsonl(marked"upload": true), only on GitHub Actions and only when the upload succeeded.update-build-timingsadds the upload times to the recipe's build time from the same run.ros-<distro>-<name>) still getsALIAS_SECONDS, but its upload counts forros2-<name>, which vinca always builds right before it in the same job.The timing files keep their format. The times already in them are build-only, and they gain the uploads as recipes are rebuilt. Tests:
test_build_timings.pycovers both upload kinds, and all 57 tool tests pass.When merging: this changes
tools/, so the merge regenerates every distribution's build branches and cancels any build-branch runs in progress (currently humble's rebuild). Best merged after those finish.🤖 Generated with Claude Code