Release process
Open Zaak makes use of quite a bit of Continuous Integration tooling to set up a full release process, all driven by the Git repository.
Github Actions
Our pipeline is mostly implemented on Github Actions:
Merges to the main
branch are built on Github, where:
Tests are run
Code quality checks are run
Compatibility with the API’s voor zaakgericht werken standard spec is tested
The Docker image is built and published
If the build is for a Git tag on the main
branch, then the image is built and
publish with that version tag to Docker Hub.
Releasing a new version
Releasing a new version can only be done by people with merge permissions to the main branch belonging to the Open Zaak organisation on Github.
Assuming a current version of 0.9.0
:
Create a release branch
git checkout -b release/1.0.0
Update the changelog
Update CHANGELOG.rst
in the root of the project, and make sure to commit the
changes.
Bump the version
bumpversion minor
and commit:
git commit -am ":bookmark: Bump version to 1.0.0"
Push the changes and make a pull request.
Tag the release
Once the PR is merged to main, check out the main
branch and tag it:
git checkout main
git pull
git tag 1.0.0
Tagging will ensure that a Docker image openzaak/open-zaak:1.0.0
is published.
Releasing a dev-version
You can also make use of bumpversion to mark a release as a dev release:
bumpversion dev
Which will take care of the major.minor.patch.devX
suffix of devX
.