- Bugs/minor/doc changes: any maintainer can merge without approval
- Features: at least one other maintainer should approve
- All commits to the primary branch(es) should be done via PRs
- Aside from merge commits, any commits made on the primary branch(es) should use the Conventional Commit specification with the following supported prefixes:
feature:
new featuresfix:
bug fixesminor:
code typos, etcchore:
ci/sca/csdocs:
documentation updates/fixes
- Use "Squash and merge" if the PR does one thing
- When using this, there is the option to edit the commit message, ensure one of the above prefixes is added
- Use "Create a merge commit" if there are multiple commits that make sense to be added to the changelog as separate items
- Ensure all PR commit messages have the above prefixes (you may have to rebase the PR and adjust the commit messages)
Semantic Versioning (MAJOR.MINOR.PATCH
) should be used with the following adjustments/clarifications based on the Merging Process prefixes:
- If any of the commits ready to be released are features, create as MINOR release
- If all pending commits are only fix/minor/doc/chore, create as PATCH release
- TODO - MAJOR releases
Use zenstruck/changelog to create the releases and auto-update the changelog... WIP