Skip to content

Release Procedure

Andre Merzky edited this page May 18, 2015 · 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/X.Y.Z
  2. Update version in VERSION: echo "X.Y.Z" > VERSION
  3. Make modifications to branch: usually by merging devel git merge devel (make sure to pull devel before)
  4. Update release notes: $EDITOR CHANGES.md
  5. Commit and push: git commit -a; git push
  6. Add release branch to Jenkins tests
  7. Create pull-request of release branch to master: https://github.com/radical-cybertools/radical.pilot/pulls
  8. Wait on and/or nudge other developer to review and test
  9. 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/issueXXX
  2. Update version in VERSION: echo "X.Y.Z" > 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 merge release/X.Y.Z or hotfix/issueXXX
  2. Create tag: git tag -a vX.Y.Z -m "Creative message about release, preferably including animals"
  3. Push tag to github: git push origin vX.Y.Z
  4. Release on pypi: python setup.py sdist upload
  5. Verify pypi version on: https://pypi.python.org/pypi/radical.pilot
  6. Announce Release to audience: ``` To: radical-cybertools@googlegroups.com, radical-pilot-users@googlegroups.com, radical-pilot-devel@googlegroups.com Subject: Announcing RADICAL-Pilot vX.Y.Z
Dear Users,

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

This release brings $MAJOR_NEW_FEATURE / $BUGFIX ...

$CHANGELOG_ENTRY

Installation instructions are at: http://radicalpilot.readthedocs.org/en/latest/installation.html

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

Post Release

  1. Merge master into devel branch: git checkout devel; git merge master
  2. Merge master into readthedocs branch: git checkout readthedocs; git merge master
  3. Take nap
Clone this wiki locally