3.3 KiB
3.3 KiB
Homebrew/homebrew-core Merge Checklist
The following checklist is intended to help maintainers to decide on whether to merge, request changes or close a PR. It also brings more transparency for contributors in addition to Acceptable Formulae requirements.
This is a guiding principle. As a maintainer, you can make a call on either request changes from a contributor or help them out based on their comfort and previous contributions. Remember, as a team we Prioritise Maintainers Over Users to avoid burnout.
This is a more practical checklist, it should be used after you get familiar with Maintainer Guidelines.
Checklist
Check for:
- previously opened active PRs, we would like to be fair to contributors who came first
- patches/
inreplacethat been applied to upstream and can be removed - comments in formula around
url, we do skip some version (for example vim or v8) - vendored resources that need updates (for example emscripten)
- vendored dependencies (for example certbot)
- stable/announced release
- some teams use odd minor release number for tests and even for stable releases
- other teams drop new version with minor release 0 but promote it to stable only after few minor releases
- if the software uses only hosted version control (such as github, gitlab or bitbucket), the release should be tagged and if upstream marks latest/pre-releases, PR must use latest
- does changelog mention addition/removal of dependency and it's addressed in the PR
- does formula depend on versioned formula (for example
python@2,go@1.10,erlang@17) that can be upgraded
- does formula depend on versioned formula (for example
- commits
- contain one formula change per commit
- version update follows preferred message format for simple version updates
foobar 7.3 - other fixes format is
foobar: fix flibble matrix - you can use
--bumpflag forbrew pullin case PR have single commit but the wrong message
- bottle block is not removed
Suggested reply:
Please keep bottle block in place, [@BrewTestBot](https://github.com/BrewTestBot) takes care of it. - is there are test block for other than checking version or printing help? Consider asking to add one
- if CI failed
- due to test block - paste relevant lines and add
test failurelabel - due to build errors - paste relevant lines and add
build failurelabel - due to other formulas need revision bumps - suggest to use the following command:
# in this example PR is for `libuv` formula and `urbit` needs revision bump brew bump-revision --message 'for libuv' urbit
- due to test block - paste relevant lines and add
- if CI is green and formula
bottle :unneededyou can merge it through GitHub UI - if CI is green and bottles need to be pulled, use:
brew pull --bottle $PR_ID - don't forget to thank the contributor
- celebrate the first-time contributors
- suggest to use
brew bump-formula-prnext time if this was not a case