Skip to content

Release Procedure

Andre Merzky edited this page Dec 24, 2019 · 39 revisions
  • Release Manager: AM

Preconditions for release:

  1. if release is a milestone release: no open tickets for milestone
  2. all Jenkins tests on devel pass (http://ci.radical-project.org/job/radical.pilot.devel/branch/devel/)

Preparing a regular Release

  1. Create branch from latest master: e.g. git checkout master; git pull; git checkout -b release/0.1.2
  2. Update version: echo "0.1.2" > VERSION
  3. Make modifications to branch: usually by merging devel git merge devel (make sure to pull devel before)
  4. update version dependencies to radical stack in setup.py
  5. Update release notes: $EDITOR CHANGES.md
  6. Commit and push: git commit -a; git push
  7. Add release branch to Jenkins tests
  8. Create pull-request of release branch to master: https://github.com/radical-cybertools/radical.pilot/pulls
  9. Wait on and/or nudge other developer to review and test
  10. If not approved, GOTO 3

Preparing a hotfix release

  1. Create branch from latest master: e.g. git checkout master; git pull; git checkout -b hotfix/issue_123
  2. Update version echo "0.1.2" > VERSION
  3. Make modifications to branch: either by $EDITOR or git cherry-pick abcsuperdupercommit890 (The latter is preferred)
  4. Update release notes: $EDITOR CHANGES.md
  5. Commit and push: git commit -a; git push
  6. Create pull-request of hotfix branch to master: https://github.com/radical-cybertools/radical.pilot/pulls
  7. Wait on and/or nudge other developer to review and test
  8. If not approved, GOTO 3

Perform a Release

  1. If approved, move to master branch and pull in merged content: git checkout master, then git pull
  2. Create tag: git tag -a v0.1.2 -m "release v0.1.2.3"
  3. Push tag to github: git push --tags
  4. Release on pypi: python setup.py sdist; twine upload --skip-existing dist/radical.xyz-0.1.2.tar.gz
  5. Verify pypi version on: https://pypi.python.org/pypi/radical.xyz
  6. Announce Release to audience: ``` To: radical-cybertools@googlegroups.com, radical-xyz-users@googlegroups.com, radical-xyz-devel@googlegroups.com Subject: Announcing RADICAL-XYZ v0.1.2
Dear Users,

We are happy to announce a new release of RADICAL-XYZ.

This release brings $MAJOR_NEW_FEATURE / $BUGFIX ...

Installation instructions are at: http://radicalxyz.readthedocs.org/en/stable/installation.html

$CLOSING,
$NAME
``` 
  1. GOTO "Post Release"

Post Release

  1. merge master into devel branch: git checkout devel; git merge master; git push
  2. merge devel into all open development branches: for b in $branches; do git checkout $b; git merge master; done
Clone this wiki locally