-
Notifications
You must be signed in to change notification settings - Fork 23
Release Procedure
Matteo Turilli edited this page Jul 25, 2021
·
39 revisions
- Release Manager: AM
- if release is a milestone release: no open tickets for milestone
- all tests on
devel
pass (https://github.com/radical-cybertools/radical.pilot/actions)
- Pull
devel
:git checkout devel; git pull
- Create branch from latest master: e.g.
git checkout master; git pull; git checkout -b release/0.1.2
- Update version:
echo "0.1.2" > VERSION
- Make modifications to branch: usually by merging devel
git merge devel
(make sure to pull devel before) - update version dependencies to radical stack in setup.py
- Update release notes:
$EDITOR CHANGES.md
- Commit and push:
git commit -a; git push
(make sure there are no unwanted files in the repo) - Create pull-request of release branch to master: https://github.com/radical-cybertools/radical.pilot/pulls
- Wait on and/or nudge other developer to review and test
- If not approved,
GOTO Perform a Release
- Create branch from latest master: e.g.
git checkout master; git pull; git checkout -b hotfix/issue_123
- Update version
echo "0.1.2" > VERSION
- Make modifications to branch: either by
$EDITOR
orgit cherry-pick abcsuperdupercommit890
(The latter is preferred) - Update release notes:
$EDITOR CHANGES.md
- Commit and push:
git commit -a; git push
- Create pull-request of hotfix branch to master: https://github.com/radical-cybertools/radical.pilot/pulls
- Wait on and/or nudge other developer to review and test
- If not approved,
GOTO 3
- If approved, move to master branch and pull in merged content:
git checkout master
, thengit pull
- Create tag:
git tag -a v0.1.2 -m "release v0.1.2.3"
- Push tag to github:
git push --tags
- Release on pypi:
python setup.py sdist; twine upload --skip-existing dist/radical.xyz-0.1.2.tar.gz
- Verify pypi version on: https://pypi.python.org/pypi/radical.xyz
GOTO "Post Release"
- merge master into devel branch:
git checkout devel; git merge master; git push
- merge devel into all open development branches:
for b in $branches; do git checkout $b; git merge master; done
- Register at https://test.pypi.org/
- Create the test release:
python setup.py sdist
- Upload your test release to test.pypi:
twine upload -r testpypi --skip-existing dist/radical.xyz-0.1.2.tar.gz
- Check/test your release. More information at https://packaging.python.org/guides/using-testpypi/