There are 3 types of branches:
- The master branch
- Development branches (to be merged into master and then deleted)
- Releases branches
If your contribution is a hotfix (bug fix on a release already published), follow the hotfix workflow section. In all other cases, you must create a development branch, and submit a pull request to master (possibly in "draft" state until you are done).
Development branches must be prefixed with a short name moniker (e.g. gav-my-feature
).
Development branches must be merged into master and then deleted.
If you have to leave your development for a long time, we invite you to push your branch on your
fork and to remove it from the official repository, so that the latter is not polluted by
too many branches.
This kind of branch should be named perm-TAG
, where TAG
is the git tag of the corresponding
release.
To fix a bug in a release already published (in github releases page), please follow these steps:
- Create a release branch dedicated to the hotfix release, based on the tag of the last published version.
- Push a commit that bump the version on the release branch.
- Submit a PR against
master
to fix the bug upstream. - Once the fix is merged on master, cherry-pick the merge commit on the release branch.
- Make the git tag on the release branch and follow the delivery process.
- Create the release branch
perm-runtime-1502
, based on tagruntime-1501
- Push a commit on
perm-runtime-1502
that bump spec versions from 1501 to 1502. - Submit a PR against
master
to fix the bug upstream. - Once the fix is merged on master, cherry-pick the merge commit on the
perm-runtime-1502
branch. - Make the git tag on the
perm-runtime-1502
branch and follow the delivery process.