Skip to content

Release management process

hackmastera edited this page Dec 10, 2015 · 32 revisions
  1. Modify the README to replace all instances of the past version with the new version. Please double-check your changes to make sure you don't have typos, since you'll be pushing this work directly to the master branch without any community review.
  2. Add, commit, and push to the upstream repository.
  3. Bump the version number in SUFIA_VERSION to a SemVer-appropriate version; feel free to consult others (via IRC, hydra-tech, or a Hydra Tech call) if you're not sure. Do not add, commit, or push this change. (If you look at previous release commits you'll see changes also to lib/sufia/version.rb, and sufia-models/lib/sufia/models/version.rb -- resist the temptation to directly modify those, as the rake task called in a later step will take care of them for you.)
  4. Modify the changelog to include changes in the version (which can be pulled from commit messages -- see previous entries in History.md for examples). Do not add, commit, or push this change.
  5. Release the gem to rubygems.org:
  • If this is your first time pushing to rubygems.org for a Hydra project
    • Create an account at rubygems.org if you haven't already, or make note of your rubygems.org email address.
    • Ask on IRC or hydra-tech about making you an owner of the gem on rubygems.org. (Your rubygems.org email address and GitHub username need to be added to this script, and then someone who already has owner access needs to run that script.)
    • Ask on IRC or hydra-tech about adding you to the Owners team in the projecthydra GitHub organization.
    • If you have not yet, set up ~/.gem/credentials according to these instructions.
  • Run the rake all:release task.
  1. Create release notes in GitHub. In the new release, include at least a block with upgrade notes and a block showing the changelog (copy from earlier step). (See an example.)
  2. Send a release message to hydra-tech, hydra-community, and hydra-releases describing the changes (which you can copy from the GitHub release). (This assumes you've already joined those three lists. Do that first!) It may be helpful to base your message on a prior example, which also contains some new text explicitly thanking contributors, which you can get from the changelog.