Releases
November 16, 2022 ยท View on GitHub
Versioning
market_prices follows Semantic Versioning. Releases should tagged as "<MAJOR>.<MINOR>.<PATCH>", for example:
- "0.8.3"
- "1.12.3"
- "2.4.12"
setuptools-scm is used to version releases during the build process.
NB Prior to release 0.9.4 the tag was prefixed with a 'v'.
Draft release notes
Draft release notes for the next release should have been prepared by the draft-release-notes.yml workflow. This uses the Release Drafter action.
The latest draft should be at the top of the releases page.
Release workflow
Cut a release
On publishing a release via GitHub the release.yml workflow will upload the distrubtion files to PyPI.
At the GitHub releases page:
- The draft release notes should already be at the top of the page. Click the pen icon to edit the draft.
- Tag the release. The draft will have suggested a tag for the release. If this tag doesn't reflect the intended version then either select the last commit's tag (if it was added) or create a new tag that reflects the version string (any new tag will be attached to last commit).
- Make sure target is selected as 'refs/head/master'.
- Name the release as the tag prefixed with a v (e.g. "v0.9.7") (NB the tag should not be prefixed with a v).
- Revise the draft release notes as requried.
- If the release includes new features, select the checkbox for 'Create a discussion for this release' (otherwise leave unchecked).
- Click the 'Publish Release' button.