Additional checks for major releasese:
- Update the Github milestones, close current one, make plans for the next milestones
- Update Docker image versions and test.
For all releases:
-
Run
make linkcheckin the docs, checkdocs/build/linkcheck/output.txtand fix broken links. Use Codex to fix links. -
Change released to
Truefor the migration script inops/upgrade.py, add a new migration script. -
Update
settings.py - _add_missing_attributes()to prevent exceptions. -
Update the version in
pyproject.toml. Check whether other parts of thepyproject.tomlneed to be updated. Check whether dependencies can be removed. -
Update version in
tests/review_manager/0_core/review_manager_test.py -
Update number of extensions and api searches in
README.md -
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. -
Check:
pyproject.tomlcannot have direct depdencies (Github) -
Run
pip3 install -e .locally (before testing upgrade in local repositories). -
Commit the changes (
release 0.10.0). -
Check whether the pre-commit hooks and tests pass locally (
pre-commit run --all). -
Check whether the pre-commit hooks and tests pass in GitHub Codespaces (
pre-commit run --all). -
Push to Github. Check whether the installation, tests, and pre-commit hooks pass.
-
Run
git tag -s $VERSION(format: "0.9.1"). -
Run
git pushand wait for the GitHub actions to complete successfully. -
Test
colrev upgradein 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
-
Update the release in the devcontainer of colrev-template
mkdir example && cd example
colrev init --example
colrev load
colrev prep
colrev dedupe
colrev prescreen --include_all
colrev pdfs
colrev pdfs --discard
colrev screen --include_all
colrev data
# Manually edit data/data/paper.md
git remote add origin [email protected]:CoLRev-Environment/example.git
git push --set-upstream origin main -f