From cd0505c2e2ae2c7d95ce841587255c0f2b60a311 Mon Sep 17 00:00:00 2001 From: fspreck <f.spreckelsen@indiscale.com> Date: Tue, 11 Oct 2022 15:29:07 +0200 Subject: [PATCH] REL: Add release documentation files --- README.md | 4 ++-- RELEASE_GUIDELINES.md | 47 +++++++++++++++++++++++++++++++++++++++++++ release.sh | 4 ++++ setup.cfg | 2 +- 4 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 RELEASE_GUIDELINES.md create mode 100644 release.sh diff --git a/README.md b/README.md index 8576e5c9..b97fc877 100644 --- a/README.md +++ b/README.md @@ -38,9 +38,9 @@ The original authors of this package are: # License -Copyright (C) 2021 Research Group Biomedical Physics, Max Planck Institute for +Copyright (C) 2021-2022 Research Group Biomedical Physics, Max Planck Institute for Dynamics and Self-Organization Göttingen. -Copyright (C) 2021 IndiScale GmbH +Copyright (C) 2021-2022 IndiScale GmbH All files in this repository are licensed under a [GNU Affero General Public License](LICENCE) (version 3 or later). diff --git a/RELEASE_GUIDELINES.md b/RELEASE_GUIDELINES.md new file mode 100644 index 00000000..d6bc2c9a --- /dev/null +++ b/RELEASE_GUIDELINES.md @@ -0,0 +1,47 @@ +# 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](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 in `setup.cfg` are 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. Update CHANGELOG.md + +3. Check all general prerequisites. + +4. Update the version: + - `version` variables in `src/doc/conf.py` + - Version in [setup.cfg](./setup.cfg): Check the `MAJOR`, `MINOR`, `MICRO`, `PRE` variables and set + `ISRELEASED` to `True`. Use the possibility to issue pre-release versions for testing. + +5. Merge the release branch into the main branch. + +6. Tag the latest commit of the main branch with `v<VERSION>`. + +7. Delete the release branch. + +8. Remove possibly existing `./dist` directory with old release. + +9. Publish the release by executing `./release.sh` with uploads the caosdb + module to the Python Package Index [pypi.org](https://pypi.org). + +10. Merge the main branch back into the dev branch. + +11. After the merge of main to dev, start a new development version by + increasing at least the micro version in [setup.cfg](./setup.cfg) and + preparing CHANGELOG.md. + +12. 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. diff --git a/release.sh b/release.sh new file mode 100644 index 00000000..1af097f0 --- /dev/null +++ b/release.sh @@ -0,0 +1,4 @@ +#!/bin/bash +rm -rf dist/ build/ .eggs/ +python setup.py sdist bdist_wheel +python -m twine upload -s dist/* diff --git a/setup.cfg b/setup.cfg index 7c3f0cbb..05e278a5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = caoscrawler -version = 0.1 +version = 0.1.0 author = Alexander Schlemmer author_email = alexander.schlemmer@ds.mpg.de description = A new crawler for caosdb -- GitLab