Additional checks for major releasese:
- Update the Github milestones, close current one, make plans for the next milestones
- Go through the cli/help pages and check the order etc.
- Update Docker image versions and test.
For all releases:
-
Run
make linkcheck
in the docs, checkdocs/build/linkcheck/output.txt
and fix broken links. -
Change released to
True
for the migration script inops/upgrade.py
, add a new migration script -
Update version in
tests/2_ops/check_test.py
-
Run
colrev env --update_package_list
. -
Collect release notes and update the
CHANGELOG.md
. -
Update version and date and date in
CITATION.cff
. -
Update version in
SECURITY.md
. -
Update the version in
pyproject.toml
. Check whether other parts of thepyproject.toml
need to be updated. Check whether dependencies can be removed. -
Commit the changes (
release 0.10.0
). -
Push to Github. Check whether the installation, tests, and pre-commit hooks pass.
-
Run
git tag -s $VERSION
(format: "0.9.1"). -
Run
pip3 install -e .
locally (before testing upgrade in local repositories). -
Run
git push
and wait for the GitHub actions to complete successfully. -
Check whether the tests pass locally (
pytest tests
). -
Test
colrev upgrade
in local repositories (seeCOLREV-UPDATE_ALL.txt
). -
Run
git push --atomic origin main $VERSION
. -
Create new release on Github
- Select new tag
- Enter the release notes
- Publish the release
- The PyPI version is published through a github action:
- The zenodo version is published automatically
- Trigger/test the Github-action in a curated metadata repository (using
colrev-batch-gh-api.py
)
-
Update example repository if necessary