Skip to content

Release management process

E. Lynette Rayle edited this page Mar 22, 2022 · 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. Work with the Hyrax Product Owner to set up quality assurance testing and accessibility audits.
  2. Update all available translations to ensure internationalization is consistent across languages.
  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 main branch of the upstream repository. (If GitHub prevents you from pushing directly to main, 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 Hyrax Feature Matrix 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.

Help

Ask tamsin johnson (Hyrax tech lead) if you need help with, or have questions about, any of the steps in the release management process.

Clone this wiki locally