Dev cycle
Staging is king
Eveything goes from and to the Staging branch, which is directly connected to the Staging application.
New feature flow
From your local staging (up-to date, make sure to always pull), create a new branch
Work on this new branch as long as you need
Often, staging will change => you'll need to update your branch (co staging, pull, co your-branch, merge staging)
When the feature is ready and you're up-to date with staging, you can safely squash & merge your branch into staging, from the PR
Main holds the power
While staging is the orchestra of the codebase, main is directly linked to the Production application. Everything you push on this branch will end up on production, as long as the tests in the Github actions ran successfully.
Hint: you should never push to main directly
This branch is only used for releases. When the staging branch is ready to be released, you can just create a PR for it and rebase & merge it into main.
Learn more about the release protocol and our pipeline on Heroku here:
HerokuLast updated