Skip to content

Release Procedure

Mark Santcroos edited this page May 18, 2015 · 39 revisions
  • Release Manager: AM

Preparing a Release Candidate

  • Preconditions:
  • Procedure:
    1. merge devel into master
    2. merge readthedocs into master
    3. update version in VERSION
    4. tag that version in git
    5. push master and tag to github
    6. switch Jenkins to test from master
    7. if Jenkins tests fail:
      • fix in devel
      • GOTO 1
    8. plan release

Preparing a Release

  • Preconditions:
  • Procedure:
    1. merge devel into master
    2. merge readthedocs into master
    3. update version in VERSION
    4. tag that version in git
    5. push master and tag to github
    6. push to pypi: python setup.py sdist upload
    7. switch Jenkins to test from pypi
    8. if Jenkins tests fail:
      • fix in devel
      • GOTO 1
    9. announce release

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" > 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
  9. If approved, move to master branch and pull in merged content: git checkout master; git pull
  10. Create tag: git tag -a vX.Y -m "Creative message about release, preferably including animals"
  11. Push tag to github: git push origin vX.Y
  12. Release on pypi: python setup.py sdist upload
  13. Verify pypi version on: https://pypi.python.org/pypi/radical.pilot
  14. Announce Release to: radical-cybertools@googlegroups.com, radical-pilot-users@googlegroups.com and radical-pilot-devel@googlegroups.com
  15. 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