Skip to content
This repository has been archived by the owner on Feb 20, 2021. It is now read-only.

Release preparation checklist

ofTheo edited this page Nov 16, 2012 · 5 revisions

This is a checklist which must be followed when preparing a new OF release.

All the steps must be completed to successfully publish a release, so if you are currently prepare a release, go through them sequentially.

(bullet list instead of numbers until it is complete. Please help in fleshing this out)

  • Make sure your local repo is in sync with current upstream OF.

  • Decide which version number the release should have (The versioning scheme will probably change soon).

  • Make sure there are no more open issues in the milestone for the release in question. If there are any issues remaining, and they are not to be included in the upcoming release, push them back to the next milestone, or ask the issues section leader to do so. Either way, the milestone must be completed before proceeding.

  • Compile a changelog. Look at/ask for a list of merged PRs since the last release tag when doing this - the policy is that any relevant changes enter the codebase via PRs, so this is much easier and higher-level than wading through commit logs. Add the changelog in OF/changes.txt, commit to develop. (Christoph: I have a script for that, I hope I can automate it soon-ish, for now I'll send the list over the mailing list)

  • Make sure the version number defines in ofConstants.h are updated! If needed, change them, commit to develop. Note: this should be the last commit for each release.

  • Merge develop into master!

  • (Testing procedure to make sure everything compiles. If stuff fails, fix it in develop, and merge into master) Note: call to dev list to ask for people to test across their different platforms / compilers.

  • Check out master. Take down the last/current commit SHA, this will be the release commit, and it must not be changed afterwards!

  • Make sure you're at the release commit (i.e. on the master branch). Create a tag at the release commit, containing only the version number, e.g. git tag 0073

  • Push master and develop to the OF repo, using the --tags option to also push the tag you just created.

  • Generate the packages (Arturo - can we have a non-ssh way to do this?)

  • Change the version number of the current release on the OF Site at: https://github.com/openframeworks/ofSite/blob/master/_version.py

  • Write an announcement mail to the developer mailing list, listing the version number, release commit and date, relevant changes.

  • (Publish to twitter etc.?)