Release Workflow
We follow this process to make new releases (at the time, only development leads initiate releases):
Create a new branch off of
dev
branch calledrelease-v*.*.*
.Update the version in
sibyl-api/__init__.py
andpyproject.toml
files.Make any final small changes needed, either directly on
release-v*.*.*
or on a feature branch that can then be merged intorelease-v*.*.*
with a PR.Make a PR to merge
release-v*.*.*
intostable
. Add?template=release_template.md
to the end of the PR URL to enable to the release description template. Fill in the template with a list of changes (ie. PRs) made since the last release.One all checks have passed and reviews are complete, merge the release branch into stable. Do not delete the release branch.
Once merged, tag the merge commit in stable as
v*.*.*
, and push the tag. This will automatically deploy the release to pypi.Merge
stable
back intodev
with a pull request. Keep the past three release branches; delete any old ones.Make a release on
github.com
, selecting the tag you just made. Follow the title convention ofvX.X.X - YYYY-MM-DD
. Fill in the release notes with the same list of changes you used for the PR description.
Last updated