-
Notifications
You must be signed in to change notification settings - Fork 1
ReleaseProcedure
bonachea edited this page Mar 29, 2018
·
83 revisions
- Update UPCXX_VERSION version number in src/upcxx.hpp
- should be of the form:
YYYYMMPP - Y and M represent numeric year and month of the release
- PP = patch number, starting at 0 for a "normal" (ie not hotfix) release
- should be of the form:
- Update version info in utils/upcxx-run:load_args()
- Update ChangeLog + version info in README
- Update nobs default URL to point at EX release tarball
- Commit final guide PDF to docs/guide.pdf
- upload to upcxx/upcxx downloads area with name like
upcxx-guide-2017.9.0.pdf - TAG the guide repo
- upload to upcxx/upcxx downloads area with name like
- Commit final spec PDF to docs/spec.pdf
- upload to upcxx/upcxx downloads area with name like
upcxx-spec-V1.0-Draft4.pdf - TAG the spec repo
- upload to upcxx/upcxx downloads area with name like
- 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.gzUpload this release candidate to (private) berkeleylab/upcxx downloads area - Email local group to review the release-candidate
- Ask an ADMIN to grant you WRITE access to the 'master' branch
- 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 - Ask an ADMIN to revoke WRITE access to the 'master' branch
- 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 - 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 - Advance draft number and append ".dev" suffix on spec master branch in upcxx-spec.tex
- Advance patch number in upcxx-prog-guide/Makefile
- Advance patch version number on develop branch in src/upcxx.hpp
- Change nobs URL back to collaborator-snapshot on develop
- Review and revise the release announcement
- Navigate to the wiki and git clone it to your local system
- Add any new publications (eg updated spec or guide) to wiki/Publications.md and wiki/pubs/*.pdf
- Update all 3 issue trackers: add this release to Versions, next one to Milestones and as default Milestone
- Update NEWS and Download sections of wiki/Home.md with info on the new release download including links, moving old links to a new line in the Previous Releases section
- 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.
- Audit {README,INSTALL}.md for links within the source tree (which will be broken on wiki) and de-link them
- Currently known:
- INSTALL.md: example/prog-guide/Makefile
- Update this list after each audit
- Push your wiki changes and audit everything on the live page, especially checking for broken links.
- Add md5sum of each download (code, guide, spec) to announcement
- Send the announcement
- Add link to the archived announcement (see 1st step in mgmt goop below for how to get it) to the NEWS entry in the wiki and push it again
Post-release management goop
- Add URL of Google Groups announcement to the Milestone Memo
- Visit the upcxx googlegroup page
- Click on the announcement to view it
- Click the 🔽 to the right of the message date (says "More message actions" when you roll over)
- Select ":link: Link"
- Copy to your clipboard (Ctrl-C or command-C, as appropriate)
- Paste into the .docx for the memo
- Upload PDF (not .docx) of Milestone Memo as an attachment to Milestone Reports page in Confluence
- Add URL for the new Confluence Memo attachment to the footer of Milestone Highlight Slide
- Attach PDF (not .pptx) of Milestone Highlight Slide as an attachment to Milestone Reports page in Confluence
- Update/add section to Milestone Reports page with links to
- JIRA entry in the heading
- Memo attachment (uploaded a few steps earlier)
- Slide attachment (uploaded a few steps earlier)
- Code tarball
- Spec PDF
- Guide PDF
- Google Groups announcement
- Perform a second upload of the following two to JIRA Epic as attachments
- Milestone Completion Memo PDF
- Milestone Highlight Slide PDF
- Finish the JIRA Epic by hitting
Workflow > Done - Add links to the Confluence-attached Memo to Confluence Quarterly Report page below "Accomplishments / Milestones Delivered During This Period". Past quarters show example.