Skip to content

Release management process

Michael J. Giarlo edited this page Jan 23, 2020 · 10 revisions

Bootstrapping and testing (for new AF release managers)

To bootstrap your environment, make sure you clone the right repo: http://github.com/samvera/active_fedora

To run tests, spin down all other jetty instances (or anything on port 8983), then launch rake ci which configures and starts jetty, runs spec tests, and then closes down. If the that task bombs on you ("unable to connect to Fedora"), you can run each task manually:

rake jetty:clean
rake jetty:start
rake spec
rake jetty:stop

ActiveFedora release management, step by step

  1. Ensure submitter of pull request is on the Samvera's Contributor License Agreement list for ActiveFedora. If not, ping Steering and request that this be done. (We ultimately want to be sure that all code contributed to Hydra components comes from someone who has signed the CLA.)
  2. Merge the pull request via GitHub. (Click the (?) icon for instructions.)
  3. Pull that code into your locally cloned repo (and run the usual steps after the pull, e.g., source .rvmrc, bundle install, etc.)
  4. Run specs (assuming they pass, continue), or verify specs are passing on the CI server.
  5. Bump version number in lib/active_fedora/version.rb
  6. Modify release notes to include changes in the version (which can usually be culled from commit messages)
  7. Commit and push your local changes (just textual, so another round of spec-checking should not be necessary)
  8. Build the gem and push it to rubygems.org, tag the release, push the finished tagged release to master: rake release
    • If you happen to get an error "rake aborted! There are files that need to be committed first," you may have stuff cluttering up AF's built-in jetty submodule. If so, do the following: cd jetty; git checkout .; git clean -df; cd ..; rake release
    • If this is your first time pushing to rubygems.org, you will be prompted for your rubygem credentials, in which case do the following: gem push; rake release
  9. Send a release message to samvera-tech and samvera-releases describing the changes (which you can copy from the release notes)
Clone this wiki locally