- If the release is a major update, it needs to be prepared like described in the WIKI.
- Run in terminal
ESTIMATED_VERSION=3.0.1 gh api repos/actinia-org/actinia-core/releases/generate-notes -f tag_name="$ESTIMATED_VERSION" -f target_commitish=main -q .body
- Go to https://github.com/actinia-org/actinia-core/releases/new
- Copy the output of terminal command to the release description
- Change heading
## What's Changed
to### Changed
,### Fixed
,### Added
,### Updated
or what applicable and sort list amongst these headings. - You can compare manually if all changes are included. If changes were pushed directly to main branch, they are not included.
- Check if
ESTIMATED_VERSION
increase still fits - we follow Semantic Versioning. You can also have a look at the milestones added to the included PRs. They indicate weather this single PR would lead to a major, minor or patch version increment. - Fill in tag and release title with this version
- Make sure that the checkbox for "Set as the latest release" is checked so that this version appears on the main github repo page
- DO NOT click "save" yet!!
- In CITATION.cff, update version and date-released in main branch
- Now you can save the release
- Run in terminal
curl https://api.github.com/repos/actinia-org/actinia-core/releases/latest | jq -r '. | "## [\(.tag_name)] - \(.published_at | strptime("%Y-%m-%dT%H:%M:%SZ") | strftime("%Y-%m-%d"))\nreleased from \(.target_commitish)\n\(.body) \n"'
- Copy the output to the top of the release list in CHANGELOG.md
- run
mdformat CHANGELOG.md
locally - Push changes in CHANGELOG.md to main branch (before, you might need to pull changes from CITATION.cff).
- Create a new milestone with title of new version which was just released and set date to today
- Set in all related PRs the milestone to the new one -
next_patch
,next_minor
andnext_major
should not contain closed PRs anymore. If there are invalid ones, they should be labeled asinvalid
and also included in the new milestone - close the milestone
- Optionally update version in https://github.com/actinia-org/actinia-docker/blob/main/actinia-alpine/Dockerfile#L23
- Automatically a new docker image with the new tag will be created and pushed to Dockerhub
- Automatically new source and build distributions are created and pulished on PyPI
- The version is automatically updated in pyproject.toml
- The version is automatically added in zenodo