Skip to content
Chris Mear edited this page Feb 19, 2014 · 3 revisions

Here is how to cut a release of One Click Orgs, deploy it, and announce it. The examples assume we are releasing version 1.4.5..

Cutting the release

  1. Make sure you're releasing from the correct branch (i.e. v1.x or master).
  2. Does the tip of the branch contain the state that you want to release? Great! Go to step 5.
  3. Make a release-1.4.5 branch based on the latest commit that can't reach commits you don't want to include in the release.
  4. If there are commits you want in the release which aren't reachable from your release-1.4.5 branch, cherry-pick them into the release branch.
  5. Run the tests: rake spec cucumber. If there are failures, fix them, then go to step 5.
  6. Update the version number in lib/one_click_orgs/version.rb.
  7. Update the CHANGELOG (based on git log HEAD ^previous_version and git diff previous_version..HEAD).
  8. Update the CONTRIBUTORS list by running rake oco:contributors. (If you get duplicate entries, you'll need to update .mailmap.)
  9. Commit those three changes with a message like "Prep for version 1.4.5."
  10. Tag the release with a signed tag: git tag -s v1.4.5
  11. If you are on a release branch, merge that release branch back to the parent branch (v1.x or master).
  12. Push the updated branches, and the new tag: git push origin v1.x release-1.4.5 v1.4.5

Deploying

  1. Check out the deployment branch, e.g. oneclickorgs-com
  2. Merge the new release into the deployment branch: git merge v1.4.5
  3. Push the deployment branch: git push oneclickorgs-com
  4. Deploy with Capistrano: cap deploy

Announcing

  1. Post an announcement to the oneclickorgs-devspace list, including
    • The release number
    • The changelog for the release
    • Confirmation of what version oneclickorgs.com is now running
    • A link to the source, and a link to the hosted version
    • Thanks to the people who contributed to the release (contributions include code, bug reports, testing, etc.).
  2. Have a cup of tea.