diff --git a/RELEASE_GUIDELINES.md b/RELEASE_GUIDELINES.md new file mode 100644 index 0000000000000000000000000000000000000000..2f53e48f0541a30c6812a96cfe7613267ada5065 --- /dev/null +++ b/RELEASE_GUIDELINES.md @@ -0,0 +1,32 @@ +# Release Guidelines for the CaosDB MySQL Backend + +This document specifies release guidelines in addition to the generel release +guidelines of the CaosDB Project +([RELEASE_GUIDELINES.md](https://gitlab.com/caosdb/caosdb/blob/dev/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.md is up-to-date. + +## Steps + +1. 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>` + +2. Check all general prerequisites. + +3. Prepare the [setup.py](./setup.py): Update the `MAJOR`, `MINOR`, `MICRO`, `PRE` variables and set `ISRELEASED` to `True`. Use the possibility to issue pre-release versions for testing. + +4. Merge the release branch into the master branch. + +5. Tag the latest commit of the master branch with `v<VERSION>`. + +6. Delete the release branch. + +7. Publish the release by executing `./release.sh` with uploads the caosdb + module to the Python Package Index [pypi.org](https://pypi.org). + +8. Merge the master branch back into the dev branch.