feat/f-###
feature branches branched fromdevelopment
to PR back todevelopment
once completebugfux/b-###
bugfix branches branched fromdevelopment
to PR back todevelopment
once completedevelopment
used as development branch PRs from featurefeat/
or bugfixbugfix/
branches targetdevelopment
master
branch holds up to date versions of code from production- release branches PRs from
development
to release branchesrelease/VERSION_TAG
target deployment to these branches:env_test
env_uat
env_prod
refer to semver
- update MAJOR version when you make incompatible API changes
- update MINOR version when you add functionality in a backward compatible manner and merge changes from
feat/*
intodevelopment
- update PATCH version when you make backward compatible bug fixes and merge changes from
bugfix/*
intodevelopment
-
all PRs to
development
automatically add version tags todevelopment
using semver based on their type of change using development-merge-semver-tag workflowfeat/*
or features with non-breaking changes that are not bug fixes increment MINOR in semver vMAJOR.MINOR.PATCH i.e.v1.0.1
would be incremented tov1.1.0
in MINOR from a featurebugfix/*
or bugfix branches increment PATCH version i.e.v1.0.0
→v1.0.1
- features with breaking changes increment MAJOR VERSION i.e.
v1.0.1
→v2.0.0
-
once the team is ready to release from
development
into an environment automation can release into temporary release branches that push changes up toenv_*
branches for deployment -
the development-release-to-env workflow for this is manually triggered
-
when manually triggered the user enters the version number to indicate what should be released i.e.
v1.1.123
in github settings → actions: Choose whether GitHub Actions can create pull requests or submit approving pull request reviews.
- Allow GitHub Actions to create and approve pull requests → allow ✅
- generate github release pages in the UI based on versions pushed into environments (through automation workflows)
- add tag automation for breaking changes MAJOR