RELEASE_GUIDELINES.md
Release Guidelines for the CaosDB Python Client Library
This document specifies release guidelines in addition to the general release guidelines of the CaosDB Project (RELEASE_GUIDELINES.md)
General Prerequisites
- All tests are passing.
- FEATURES.md is up-to-date and a public API is being declared in that document.
- CHANGELOG.md is up-to-date.
- dependencies in
setup.cfg
are up-to-date.
Steps
-
Create a release branch from the dev branch. This prevents further changes to the code base and a never ending release process. Naming:
release-<VERSION>
-
Update CHANGELOG.md
-
Check all general prerequisites.
-
Update the version:
-
version
variables insrc/doc/conf.py
- Version in setup.cfg: Check the
MAJOR
,MINOR
,MICRO
,PRE
variables and setISRELEASED
toTrue
. Use the possibility to issue pre-release versions for testing. -
CITATION.cff
(update version and date)
-
-
Merge the release branch into the main branch.
-
Tag the latest commit of the main branch with
v<VERSION>
. -
Delete the release branch.
-
Remove possibly existing
./dist
directory with old release. -
Publish the release by executing
./release.sh
with uploads the caosdb module to the Python Package Index pypi.org. -
Merge the main branch back into the dev branch.
-
After the merge of main to dev, start a new development version by increasing at least the micro version in setup.cfg and preparing CHANGELOG.md.
-
Create releases on gitlab.com and gitlab.indiscale.com that contain (at least) the most recent section of the CHANGELOG as the description and link to the PyPi package.