- Open a branch for the release
git checkout -b releases/0.19.0rc1
- Update
CHANGELOG.md
with the most recent changes - Bump the version using
bump2version
:- Dry run first by running
bumpversion --dry-run --verbose --new-version <desired-version> <part>
. Some examples:- Release candidates:
--new-version 0.10.2rc1 num
- Alpha releases:
--new-version 0.10.2a1 num
- Patch releases:
--new-version 0.10.2.1 patch
- Minor releases:
--new-version 0.11.0.1 minor
- Major releases:
--new-version 1.0.0.1 major
- Release candidates:
- Actually modify the files:
bumpversion --no-tag --new-version <desired-version> <part>
- Check the diff with
git diff
- Add the files that were changed with
git add --update
- Commit with message
Release dbt-mysql v<desired-version>
- Dry run first by running
- Build source distribution
python setup.py sdist bdist_wheel
- Deploy to Test PyPi
twine upload -r testpypi dist/*
- Check at https://test.pypi.org/project/dbt-mysql/
- Deploy to PyPi
twine upload dist/*
- Confirm at https://pypi.org/project/dbt-mysql/
PyPi recognizes pre-release versioning conventions and will label "pre-releases" as-such.
- Click the Create a new release link on the project homepage in GitHub
- Type
v{semantic_version}
as the "tag version" (e.g.,v0.18.0rc2
) - Leave the "target" as
main
- Type
dbt-mysql {semantic_version}
as the "release title" (e.g.dbt-mysql 0.18.0rc2
) - For pre-releases:
- leave the description blank
- Tick the "this is a pre-release" checkbox
- Click the "publish release" button