-
Notifications
You must be signed in to change notification settings - Fork 49
Creating a New Release
Wilfred Tyler Gee edited this page Jul 27, 2020
·
5 revisions
Note: This should be done with the
panoptes
repo as theorigin
, not from a fork and should be done locally, not on Github.
- Make sure all relevant branches are merged into
develop
.git fetch origin
- Create a release branch. The
vX.Y.Z
should (usually) be the next minor bump, i.e. theZ
.git checkout -b release-vX.Y.Z origin/develop
- Update the CHANGELOG as necessary and commit to branch.
- Merge with
master
:git checkout master
git merge --no-ff release-vX.Y.Z
- Resolve any conflicts and commit.
- Test distribution:
python setup.py sdist bdist_wheel
- Test PyPi upload (NB: you will need credentials):
python -m twine check dist/*
- Assuming no problems, remove
dist
so it's clean:rm -rf dist/
- Tag and push current release to master:
git tag vX.Y.Z
git push --tags origin master
- Create a dist release and push to PyPi (NB: you will need credentials):
python setup.py sdist bdist_wheel
- Upload to PyPi via twine:
python -m twine check dist/*
python -m twine upload dist/*
- Merge with
develop
:git checkout develop
git merge --no-ff release-vX.Y.Z
- Tag next release in dev state:
- e.g., if
vX.Y.Z
isv0.2.5
then here you would usev0.2.6dev
git tag vX.Y.Zdev
- e.g., if
git push --tags origin develop
- Remove release branch:
git branch -D release-vX.Y.Z
- Create a release on GitHub (TODO - automate github release).
Note: Docker images are built automatically in the GCP environment upon push to master
and develop
.