Skip to content

Report progress when uploading bottles - #23520

Merged
MikeMcQuaid merged 1 commit into
mainfrom
bottle-upload-progress
Aug 14, 2026
Merged

Report progress when uploading bottles#23520
MikeMcQuaid merged 1 commit into
mainfrom
bottle-upload-progress

Conversation

@p-linnane

Copy link
Copy Markdown
Contributor

brew pr-upload prints nothing between formulae, so a large bottle upload can run for many minutes with no sign of how far along it is or whether it is stuck.

This adds formula-level progress to both upload backends, matching what the test jobs already print in Library/Homebrew/test_bot/formulae.rb:

==> Upload progress: 3 formula(e) uploaded, 0 remaining

It prints after each formula finishes and only when there are at least three formulae, so one and two formula uploads stay quiet. As in the test jobs, the count tracks formulae processed rather than bottles published, so a formula skipped under --warn-on-upload-failure still counts and its opoo line reports the skip.


  • Have you followed our Contributing guidelines?
  • Have you checked for other open Pull Requests for the same change?
  • Have you explained what your changes do? Performance claims (e.g. "this is faster") must include Hyperfine benchmarks.
  • Have you explained why you'd like these changes included, not just what they do?
  • For bug fixes, have you given step-by-step brew commands to reproduce the bug?
  • Have you written new tests (excluding integration tests)? Here's an example.
  • Have you successfully run brew lgtm (style, typechecking and tests) locally?

  • I did not use AI/LLM to create this PR, or I disclosed the tool/model below and reviewed its output; I did not attribute commits to AI and will answer maintainer questions and review comments myself without AI/LLM.

Claude Code (Opus 5) drafted the implementation and tests; I reviewed the diff, verified the new ordering tests fail when progress is printed before the upload and pass when restored, and ran brew lgtm + targeted specs.


Signed-off-by: Patrick Linnane <patrick@linnane.io>
Copilot AI lite review requested due to automatic review settings August 14, 2026 05:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This pull request adds formula-level progress output to brew pr-upload bottle uploads so long-running uploads provide visible feedback, matching the progress style used in the test-bot workflow.

Changes:

  • Add per-formula progress reporting (only when uploading 3+ formulae) to the GitHub Releases and GitHub Packages upload backends.
  • Add RSpec coverage for progress output presence/absence thresholds and for “skipped” (early-return) uploads still advancing progress.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
Library/Homebrew/github_releases.rb Print progress after each formula upload when uploading 3+ formulae.
Library/Homebrew/github_packages.rb Print progress after each formula upload when uploading 3+ formulae, while preserving the two-pass precheck/upload structure.
Library/Homebrew/test/github_releases_spec.rb New specs asserting progress output ordering and suppression for <3 formulae.
Library/Homebrew/test/github_packages_spec.rb New specs asserting progress output behavior and inclusion of skipped (early-return) cases.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@MikeMcQuaid MikeMcQuaid 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, good idea!

@MikeMcQuaid
MikeMcQuaid added this pull request to the merge queue Aug 14, 2026
Merged via the queue into main with commit 1b7e697 Aug 14, 2026
47 checks passed
@MikeMcQuaid
MikeMcQuaid deleted the bottle-upload-progress branch August 14, 2026 07:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants