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

Release preparation checklist

Christoph Buchner edited this page Feb 14, 2014 · 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 (if not already decided - milestone name!).

  • 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 to the changelog in OF/changes.txt, commit to master. (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 master. Note: this should be the last commit for each release.

  • Merge master into stable!

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

  • Check out stable. Note 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 (on the stable branch). Create a tag at the release commit, containing only the version number, e.g. git tag 0.8.2

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

  • Site: Generate the packages (how? Arturo typically does this)

  • Site: 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.?)