The workflow below is targeted at releasing production ready code to PyPI. This workflow assumes that the current branch is up-to-date with desired changes and the code is validated to work for end users who are working with this project in production.
First you will need to know the username and password for the account you want to use to release to PyPI shared_accounts.
You will need to make sure that you are on the master branch, your working directory is clean and up to date.
Decide if you are going to increment the major, minor, or patch version. You can refer to semver to help you make that decision.
Verify that the pre-requisites for running integration tests are satisfied. (See the "Executing Integration Tests" section)
Use the release-major, release-minor, or release-patch.
make release-minor
The task will stop and prompt you for you PyPI username and password if you dont have these set in your .pypirc file.
Once the task has successfully completed you need to push the tag and commit.
git push origin && git push origin refs/tags/<tagname>
Create a release on GitHub. (GitHub release)
The workflow below is targeted at releasing 'dev' builds to PyPI. The purpose of this workflow is to put experimental or release candidate builds onto PyPI in order to test other projects that are dependent on this one.
First you will need to know the username and password for the account you want to use to release to PyPI shared_accounts.
You will need to make sure that you are on your working directory is clean and up to date and you're on the correct branch that contains the experimental/non-production code.
Decide if you are going to increment the major, minor, or patch version. You can refer to semver to help you make that decision.
Use the bump-major, bump-minor, bump-patch or bump-build to move the version forward.
make bump-minor
Build the experimental/non-production package.
make build
Publish the experimental/non-production package to PyPI.
make publish
If you need to make updates to the experimental build it is suggested to bump the build version, build and re-publish.
make bump-build make build make publish
Once you're satisfied that the changes are ready to be released to production use the make release target.
make release
Once the task has successfully completed you need to push the tag and commit.
git push origin && git push origin refs/tags/<tagname>
Create a release on GitHub. (GitHub release)