mirror of
https://github.com/Kozea/Radicale.git
synced 2025-06-26 16:45:52 +00:00
Page:
Development Testing Release
Pages
01 ‐ Reporting Issues
02 ‐ Contributions
C*DAV explanations
Client InfCloud
Client Status
Client Thunderbird
Client pimsync
Collection Storage
Collection type VSUBSCRIBED (Webcal)
Current Maintainers Contributors
Development Testing Release
Donations
Fail2Ban Setup
Home
Installing on Debian Linux
Installing on Docker
Installing on OpenBSD
LDAP authentication
Performance Tuning
Production ready installation
Radicale Custom DAV protocol extensions
Radicale Internals
Reverse Proxy Diagnostics Troubleshooting
Reverse Proxy Hints
Server Diagnostics Troubleshooting
Sharing Collections
Simple installation
No results
14
Development Testing Release
Peter Bieringer edited this page 2025-04-23 18:12:11 +02:00
Table of Contents
Development
(TODO)
Github Workflows
Issue with "Coveralls.io"
Error running coveralls: Could not submit coverage: 405 Client Error: Method Not Allowed for url: https://coveralls.io/api/v1/jobs
Check for announced downtime: https://coveralls.io/ -> restart workflow after external service is up again.
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
Run tests
All defined tests
pytest
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 built
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
Rebase major version
- Rebase major version branch (currently "v3") with "master"
git checkout v3
git rebase v$VERSION
git push
git checkout master
Turn back master to devel
File | Action |
---|---|
CHANGELOG.md | add new section with $VERSIONnext.dev |
setup.py.legacy | replace $VERSION with $VERSIONnext.dev |
pyproject.toml | replace $VERSION with $VERSIONnext.dev |
Commit changes
git commit -a
Push
git push