The easiest way is to just run the following command from the root folder with the HEAD commit on trunk and the appropriate version. We follow <MAJOR>.<MINOR>.<PATCH>
versioning.
$ script/release_prep.sh X.Y.Z
This script effectively runs the following:
-
Increment the version according to semantic versioning rules in
pact/__version__.py
-
Update the
CHANGELOG.md
using:$ git log --pretty=format:' * %h - %s (%an, %ad)' vX.Y.Z..HEAD
-
Add files to git
$ git add CHANGELOG.md pact/__version__.py
-
Commit
$ git commit -m "Releasing version X.Y.Z"
-
Tag
$ git tag -a vX.Y.Z -m "Releasing version X.Y.Z" $ git push origin master --tags
To upgrade the versions of pact-mock_service
and pact-provider-verifier
, change the PACT_STANDALONE_VERSION
in setup.py
to match the latest version available from the pact-ruby-standalone repository. Do this before preparing the release.
-
Wait until GitHub Actions have run and the new tag is available at https://github.com/pact-foundation/pact-python/releases/tag/vX.Y.Z
-
Set the title to
pact-python-X.Y.Z
-
Save
-
Go to GitHub Actions for Pact Python and you should see an 'Upload Python Package' action blocked for your version.
-
Click this and then 'Review deployments'. Select 'Upload Python Package' and Approve deploy. If you can't do this you may need an administrator to give you permissions or do it for you. You should see in Slack #pact-python that the release has happened. Verify in pypi