Merger Guidelines
DO
- Create a merge commit
- Set the following
- A purple component label (e.g. api, providers/vmware, etc).
- A scope label (bug, enhancement, refactoring, test, tools, developer, cleanup, performance, technical debt).
- A backport label for the next release (e.g. jansa/yes? or jansa/no).
- If there is no assignee, set yourself as the assignee.
- Proactively look at new PRs and Issues on some interval.
- If you know the SME (subject matter expert) for a particular PR or Issue, assign it to them.
- If you are the SME, assign to yourself, and do the review.
- Feel free to review PRs in which you are not the SME. The more help, the better.
- Ask for help from others, with @mentions, if you are unsure, or just want a second set of eyes.
DON’T
- Do not be afraid to merge. ;)
- If you are hesitant to merge, re-assign to someone who will.
- Do not push to master or other release branches.
- Do not merge your own PRs.
- Do not merge a PR expecting the author to merge your PR (quid pro quo).
- Do not merge WIP PRs - A helpful Chrome extension to prevent it is here.
- Do not push branches to the main repo. Use a fork for your own work like other developers.
- By extension, do not use the revert or edit buttons in the GitHub UI as they create direct branches on the main repo.
- Instead, for reverts, you can create a local branch, run
git revert SHA
, then push to your fork and make a PR.
- It may be preferable to revert the merge commit, particularly if there are multiple commits in the PR and you want to revert the entire PR.
- Do not let PRs sit unreviewed.
- Make a comment that you’ll get to it soon (if you don’t have time yet).
- If you’re not the authority, assign to someone else; or at least @mention them.