Releases Management

Releases

r1

Note

Upcoming next release based in v1.x.y.

Attention

This release introduces breaking changes.

r0

Todo

Releases:r0 Needs documentation.

Versions

Todo

Releases:Versions Needs documentation.

Branches

        %%{init: { 'logLevel': 'debug', 'theme': 'neutral', 'gitGraph': {'rotateCommitLabel': false} } }%%
gitGraph
  commit id: "-"
  branch dev
  commit id: "B"
  commit id: "C"
  checkout main
  merge dev tag: "v0.4.0"
  checkout dev
  commit id: "D"
  commit id: "E"
  commit id: "F"
  checkout main
  merge dev tag: "v0.5.0"
    

dev

Development is done on branch dev.

All merge requests need to target this branch.

main

Finished development is merged to branch main.

Each merge-commit is tagged with a semantic version.

Tagging

See context in #5 Tagging/versioning of this repo.

Tagging is done by .github/workflows/Pipeline.yml (see Releasing This Repository): when a release pull-request is merged into main, its title provides the version, and the merge commit is tagged once every verification workflow succeeded for it. The tag’s run then publishes the release page and opens a pull-request moving the release branch, e.g. Updating r8 from v8.1.0.

If that didn’t happen - a failing verification workflow, for example - the same is done by hand. Tag new releases in the main branch using a semver compatible value, starting with v:

git checkout main
git tag v0.0.0
git push upstream v0.0.0

Move the corresponding release branch (starting with r) forward by creating a merge commit, and using the merged tag as the commit message:

git checkout r0
git merge --no-ff -m 'v0.0.0' v0.0.0
git push upstream r0