This document outlines the steps required to release the project. Currently, the release process is "semi-automatic," involving the following procedures.
Adhering to these steps will ensure a smooth and seamless release flow.
We use the release-please GitHub Action to perform releases. Configuration details can be found in the following manifests:
Begin by manually triggering the release-please workflow. This will generate a release PR that includes the updates for release along with the updated CHANGELOG.md and version.txt files.
Please ensure that the newly created PR has the autorelease: pending label.
The new release will adhere to the semver specification: release-please will determine the upcoming version bump by parsing the git history of the main branch, looking for Conventional Commits messages.
If for some reason there is the need to change the semver version that is going to be released, it's sufficient to update the content of the release PR with the desired semver version and adapt the changelog accordingly.
We use Docusaurus for our documentation. If necessary, add a new documentation version corresponding to the same semver tag as the upcoming release.
For instance, if releasing version v1.2.3 of the application that carries updates to its documentation, you should also release a v1.2.3 documentation version that will be included in the docs site "version dropdown"
To create a new documentation version, manually invoke the related workflow with the following parameters:
version: the documentation version to be created, matching the application release version (e.g.,v1.2.3).release-branch: userelease-please--branches--mainas the branch name.
Both inputs will be validated, so errors may occur depending on the provided inputs.
Merge the release PR to prepare for the tagged release. Note that this action does not create a tagged release; that will occur in the next step.
To finalize the release, manually trigger the release-please workflow again. Ensure everything is correct before proceeding, as this step will:
- create and push a Git tag following the determined semver version (e.g.,
v1.2.3). - invoke all github actions that will publish the newly tagged artifacts i.e. Docker Hub, PyPi, etc. etc.
- update the release PR label from
autorelease: pendingtoautorelease: tagged.

