Development Testing Release - Kozea/Radicale GitHub Wiki

Development

(TODO)

Testing

Preparation

Installation of test frameworks

  • Fedora / Enterprise Linux
dnf install python3-pytest python-tox python-typeguard python-flake8

(TODO: other OS/distributions)

Execution

Run in main source directory

Directory Cleanup (optional)

Note: will remove everything untracked, even ignored

git clean -fdx

Syntax check

flake8

Particular defined test

Option -k can be used to select specific sub-tests

Example:

pytest radicale/tests/test_base.py [-k test_overwrite_collection]

Complete test suite

Note: in case of strange errors add option -r for recreation of environment

tox

(more coming next)

Release

Verifications

  • All last actions successfully executed
  • CHANGELOG.md is up-to-date
  • No important issues still pending
  • Local repository is up-to-date: git pull

Preparation

File Action
CHANGELOG.md replace 3.dev with $VERSION
setup.py.legacy replace 3.dev with $VERSION
pyproject.toml replace 3.dev with $VERSION

Commit changes

git commit -a 

Create release tag

git tag v$VERSION

Push

git push
git push --tags

Release

Draft new release

  • Release title: VERSION (depending on changes)
  • Description: (copy part from CHANGELOG.md and sort by section)
  • Set it as pre-release until EL/Fedora RPMs are build

Note: in case something needs to be corrected, create a new tag v$VERSION-SEQ and change tag of release

Latest release

After RPMs are successfully built, mark it as latest release

Turn back master to devel

File Action
CHANGELOG.md replace $VERSION with 3.dev
setup.py.legacy replace $VERSION with 3.dev
pyproject.toml replace $VERSION with 3.dev

Commit changes

git commit -a 
⚠️ **GitHub.com Fallback** ⚠️