GitHub flow & Releases

We are using GitHub flow for development, which is a simpler variant of Git Flow (learn more). The central assumption behind GitHub flow is that main can only contain deployment-ready code and can thus be deployed to production anytime. Therefore:

  • All changes must be short-lived branches from main. Depending on the nature of the change, the branch shall have a prefix of feature/, enhancement/ or hotfix/.
  • All changes happen on the branches, and a pull request is opened when it is ready.
  • A pull request can only be accepted if the changes are ready to be deployed.

Release process

  • When opening or reviewing a pull request, label it with type:feature 🚀, type:enhancement ✨, type:bug 🐞, or type:documentation 📜, depending on the nature of the PR.
  • When merging the pull request, we will select the Squash and merge option in GitHub
  • When the pull request is made, the GitHub action to draft releases will draft the release notes and set the version according to the provided.
  • When deploying, publish the release.
  • When a release is published, other GitHub actions are triggered:
    • Our new images will be pushed to DockerHub
    • The API docs will be updated
    • Changelog.md will be updated

Did this page help you?