Release Checklist

It's just not merging to master.  All the things to do to prep and deliver an OpenLMIS release.

 

  1. Vet with Tech and Product teams.  Finalize version number
    1. Ensure version.properties is updated to reflect the version number!
  2. Create Release Notes
    1. include JIRA tickets, stories, and/or git log as appropriate
    2. This command seems to work well for capturing commits between branches/releases/tags:  git log master..dev --pretty=format:"%h %s" --no-merges
  3. Future Step:  Stage & Check WAR
    1. check version ed directory
    2. check cache loads
    3. check version number
  4. Merge to master - ensure a clean Jenkins build
    1. Build on desktop, ensure all tests pass
    2. Add release tag
  5. Deploy master to public demo server(s)
  6. Send announcement to all OpenLMIS mailing lists

 


Git Procedure

For OpenLMIS maintainer

 

Release branch...

TODO:  writeup

 

merge

> git checkout master

> git merge dev --no-ff

Stop if not a clean merge

 

tag

Made on a commit, usually a merge commit, on branch `master`

> git tag -a -m "Releasing vMAJOR.MINOR.PATCH" vMAJOR.MINOR.PATCH

 

push

> git checkout master

> git push origin master

> git push origin vMAJOR.MINOR.PATCH

OpenLMIS: the global initiative for powerful LMIS software