Release Checklist
It's just not merging to master. All the things to do to prep and deliver an OpenLMIS release.
- Vet with Tech and Product teams. Finalize version number
- Ensure
version.properties
is updated to reflect the version number!
- Ensure
- Create Release Notes
- include JIRA tickets, stories, and/or git log as appropriate
- This command seems to work well for capturing commits between branches/releases/tags:
git log master..dev --pretty=format:"%h %s" --no-merges
- Future Step: Stage & Check WAR
- check version ed directory
- check cache loads
- check version number
- Merge to master - ensure a clean Jenkins build
- Build on desktop, ensure all tests pass
- Add release tag
- Deploy master to public demo server(s)
- 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