- Set release information
# export PREVIOUS_RELEASE=$(git describe --abbrev=0)
export PREVIOUS_RELEASE=0.3.5 # generate the full changelog since last pyhs100 release
export NEW_RELEASE=0.4.0.dev4
- Update the version number
poetry version $NEW_RELEASE
- Write a short and understandable summary for the release.
- Create a new issue and label it with release-summary
- Create $NEW_RELEASE milestone in github, and assign the issue to that
- Close the issue
- Generate changelog
# gem install github_changelog_generator --pre
# https://github.com/github-changelog-generator/github-changelog-generator#github-token
export CHANGELOG_GITHUB_TOKEN=token
github_changelog_generator --base HISTORY.md --user python-kasa --project python-kasa --since-tag $PREVIOUS_RELEASE --future-release $NEW_RELEASE -o CHANGELOG.md --exclude-tags-regex 'dev\d$'
Remove '--exclude-tags-regex' for dev releases.
- Commit the changed files
git commit -av
-
Create a PR for the release.
-
Get it merged, fetch the upstream master
git checkout master
git fetch upstream
git rebase upstream/master
- Tag the release (add short changelog as a tag commit message), push the tag to git
git tag -a $NEW_RELEASE
git push upstream $NEW_RELEASE
All tags on master branch will trigger a new release on pypi.
- Click the "Draft a new release" button on github, select the new tag and copy & paste the changelog into the description.