2019-09-12 07:36:17 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Homebrew/homebrew-core Merge Checklist
  
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The following checklist is intended to help maintainers decide on
							 
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								whether to merge, request changes or close a PR. It also brings more
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								transparency for contributors in addition to
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								[Acceptable Formulae ](Acceptable-Formulae.md ) requirements.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This is a guiding principle. As a maintainer, you can make a call to either
							 
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								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 ](Maintainers-Avoiding-Burnout.md ) to avoid
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								burnout.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This is a more practical checklist; it should be used after you get familiar with
							 
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								[Maintainer Guidelines ](Maintainer-Guidelines.md ).
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Checklist
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Check for:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  previously opened active PRs, as we would like to be fair to contributors who came first 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  patches/`inreplace`  that have been applied to upstream and can be removed 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  comments in formula around `url` , as we do skip some versions (for example [vim ](https://github.com/Homebrew/homebrew-core/blob/359dbb190bb3776c4d6a1f603a271dd8f186f077/Formula/vim.rb#L4 ) or [v8 ](https://github.com/Homebrew/homebrew-core/blob/359dbb190bb3776c4d6a1f603a271dd8f186f077/Formula/v8.rb#L4 )) 
						 
					
						
							
								
									
										
										
										
											2019-09-12 07:36:17 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  vendored resources that need updates (for example [emscripten ](https://github.com/Homebrew/homebrew-core/commit/57126ac765c3ac5201ce53bcdebf7a0e19071eba )) 
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								-  vendored dependencies (for example [certbot ](https://github.com/Homebrew/homebrew-core/pull/42966/files )) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  stable/announced release 
						 
					
						
							
								
									
										
										
										
											2019-09-12 07:36:17 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  -  some teams use odd minor release number for tests and even for stable releases
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  -  other teams drop new version with minor release 0 but promote it to stable only after a 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 is it addressed in the PR 
						 
					
						
							
								
									
										
										
										
											2020-02-10 22:54:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  -  does formula depend on versioned formula (for example `python@3.7` , `go@1.10` , `erlang@17` ) that can be upgraded
							 
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								-  commits 
						 
					
						
							
								
									
										
										
										
											2019-09-12 07:36:17 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  -  contain one formula change per commit
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  ask author to squash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  rebase during merge
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  version update follows preferred message format for simple version updates: `foobar 7.3` 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  -  other fixes format is `foobar: fix flibble matrix` 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 07:36:17 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  bottle block is not removed 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  Suggested reply:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Please keep bottle block in place, [@BrewTestBot ](https://github.com/BrewTestBot ) takes care of it.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  ```
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  is there a test block for other than checking version or printing help? Consider asking to add one 
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								-  if CI failed 
						 
					
						
							
								
									
										
										
										
											2019-09-12 07:36:17 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  -  due to test block - paste relevant lines and add `test failure`  label
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  due to build errors - paste relevant lines and add `build failure`  label
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  -  due to other formulae needing revision bumps - suggest to use the following command:
							 
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    ```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    # in this example PR is for `libuv`  formula and `urbit`  needs revision bump
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    brew bump-revision --message 'for libuv' urbit
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ```
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  make sure it is one commit per revision bump
							 
						 
					
						
							
								
									
										
										
										
											2020-04-11 12:44:39 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  if CI is green and... 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  formula `bottle :unneeded` , you can merge it through GitHub UI
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  bottles need to be pulled, and...
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  the commits are correct and don't need changes, use: `brew pr-publish $PR_ID` 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  the commits need to be amended, use `brew pr-pull $PR_ID` , make changes, and `git push` 
							 
						 
					
						
							
								
									
										
										
										
											2019-09-11 20:24:41 +10:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								-  don't forget to thank the contributor 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -  celebrate the first-time contributors
							 
						 
					
						
							
								
									
										
										
										
											2019-09-12 19:50:01 +10:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  suggest to use `brew bump-formula-pr`  next time if this was not the case