Skip to content

Release management process

Michael J. Giarlo edited this page Jun 22, 2017 · 54 revisions
  1. Does the release require QA, usability testing, or an accessibility audit? Schedule that to happen before cutting the final release if needed. Lean on the community to help with QA; on the UXIG to help with usability testing; and on Colin Fulton to help with targeted accessibility audits. Ping Mike Giarlo (serving as product owner for Hyrax) for assistance with coordination.
  2. Update all available translations (needs documentation -- this is a new step. Ask Mike Giarlo if you need assistance.)
  3. Bump the version number in version.rb to a SemVer-appropriate version; feel free to consult others (via Slack, samvera-tech, or a Samvera Tech call) if you're not sure what version to choose.
  4. Modify the README and the install template to replace all instances of the past version with the new version.
  5. Change the tag for the installation template in the README from, e.g. (if bumping from 1.0.0 to 1.1.0), rails new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v1.0.0/template.rb to rails new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v1.1.0/template.rb.
  6. Add, commit, and push all your changes directly to the master branch of the upstream repository. (If GitHub prevents you from pushing directly to master, submit your changes as a PR.)
  7. Release the gem to rubygems.org via rake release. (See below if this doesn't work.)
  8. Create release notes in GitHub. In the new release, include at least a block with upgrade notes and a block showing the changelog -- see script changelog.sh for help generating changelog entries. (See an example.)
  9. Update the Samvera Stack Built-in Feature Checklist to indicate features that have been added, removed, or moved to a different layer of the stack.
  10. Send a release message to samvera-tech, samvera-community, and samvera-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.

Problems running the release task

If this is your first time pushing to rubygems.org for a Samvera gem:

  1. Create an account at rubygems.org if you haven't already, or make note of your rubygems.org email address.
  2. Ask on Slack or samvera-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.)
  3. Ask on Slack or samvera-tech about adding you to the Admins team in the samvera GitHub organization.
  4. If you have not yet, set up ~/.gem/credentials according to these instructions.

Then try again.

Clone this wiki locally