2.7 KiB
last_review_date
last_review_date |
---|
2025-06-16 |
Autobump
BrewTestBot automatically checks for available updates of packages in autobump list. It means that some formulae and casks in official repositories do not have to be bumped manually by a contributor. Instead, every 3 hours, a GitHub Action ensures and a new pull request is opened if Homebrew does not provide the latest version of a formula/cask.
Excluding packages from autobump list
By default, all new formulae and casks from Homebrew/core and Homebrew/cask repositories are added to the list. To exclude a package from the list, it should satisfy one of the following:
- The package is deprecated or disabled.
- The The Livecheck block has a
skip
method. - It has a
no_autobump!
method/stanza.
There are maybe other formula-specific or cask-specific reasons that are not listed here. Please, refer to the respective documentation to learn more about it.
To use the no_autobump!
, a reason for exclusion must be provided. The preferred way to set the reason is to use one of the available supported symbols. The list of these symbols can be found in the NO_AUTOBUMP_REASONS_LIST
constants:
:incompatible_version_format
: This reason is used when thebrew bump
command cannot determine a version for the URL or update it. For example, if a tarball with the source code has a complex URL likehttps://example.com/download/<major-version>/<minor-version>/foo-<full-version>-<git-commit>.tar.gz
, Homebrew wouldn't be able to replace the old URL with the new one automatically.:bumped_by_upstream
: Some developers whose programs are available in Homebrew want to take care of the updates themselves or even set up a CI action that does this. Thisno_autobump!
reason exists for such cases.:requires_manual_review
: This is a temporary reason and expected to be deprecated in the future. It indicates that this package was not in theautobump.txt
file before the new autobump list was introduced.
Some no_autobump!
reasons also appear in the list but should not be used directly:
:extract_plist
: This reason is set iflivecheck
uses the:extract_plist
strategy.:latest_version
: This reason is set ifversion
is set to:latest
.
The reasons can be specified by their symbols:
no_autobump! because: :bumped_by_upstream
If none of the reasons from above fit, a custom reason can be provided as a string:
no_autobump! because: "some unique reason"
If there are multiple packages with a similar custom reason, it should be considered to add it to NO_AUTOBUMP_REASONS_LIST
.