Skip to content

ReleaseProcedure

bonachea edited this page Feb 2, 2018 · 83 revisions
  1. Update UPCXX_VERSION version number in src/upcxx.hpp
    1. should be of the form: YYYYMMPP
    2. Y and M represent numeric year and month of the release
    3. PP = patch number, starting at 0 for a "normal" (ie not hotfix) release
  2. Update version info in utils/upcxx-run:load_args()
  3. Update ChangeLog + version info in README
  4. Update nobs default URL to point at EX release tarball
  5. Commit final guide PDF to docs/guide.pdf
    1. upload to upcxx/upcxx downloads area with name like upcxx-guide-2017.9.0.pdf
    2. TAG the guide repo
  6. Commit final spec PDF to docs/spec.pdf
    1. upload to upcxx/upcxx downloads area with name like upcxx-spec-V1.0-Draft4.pdf
    2. TAG the spec repo
  7. Generate source release-candidate tarball (from git working dir)
    Be sure to change version in the following:
    git archive --remote=origin develop --prefix=upcxx-2017.9.0/ --format=tar.gz --output=upcxx-2017.9.0.tar.gz Upload this release candidate to (private) berkeleylab/upcxx downloads area
  8. Email local group to review the release-candidate
  9. Ask an ADMIN to grant you WRITE access to the 'master' branch
  10. Merge to master (updating version below)
    git remote update
    git checkout master
    git pull --ff-only
    git merge --no-ff -m 'Merge develop for 2017.9.0 release' origin/develop
    (push to a private fork on BitBucket or inspect locally with git log)
    git push origin master
  11. Ask an ADMIN to revoke WRITE access to the 'master' branch
  12. TAG master (updating version below)
    git tag -a -m 'UPC++ 2017.9.0 release' upcxx-2017.9.0 master
    git push origin upcxx-2017.9.0
  13. Generate final tarball
    Same command as release candidate except "master" replaces "develop"
    Be sure to change version in the following:
    git archive --remote=origin master --prefix=upcxx-2017.9.0/ --format=tar.gz --output=upcxx-2017.9.0.tar.gz
    Upload this final release to (public) upcxx/upcxx downloads area
  14. Advance patch version number on develop branch in src/upcxx.hpp
  15. Change nobs URL back to collaborator-snapshot on develop
  16. Review and revise the release announcement
  17. Navigate to the wiki and git clone it to your local system
  18. Add any new publications (eg updated spec or guide) to wiki/Publications.md and wiki/pubs/*.pdf
  19. Update all 3 issue trackers: add this release to Versions, next one to Milestones and as default Milestone
  20. Update Download section of wiki/Home.md with info on the new release download including links
  21. Update wiki/{README.md,INSTALL.md,docs/*} with files from the release, overwriting the version there. Be sure to audit these changes before committing to look for information loss.
  22. Audit {README,INSTALL}.md for links within the source tree (which will be broken on wiki) and de-link them
    1. Currently known:
    2. INSTALL.md: example/prog-guide/Makefile
    3. Update this list after each audit
  23. Push your wiki changes and audit everything on the live page, especially checking for broken links.
  24. Send the announcement

Clone this wiki locally