URBANopt release process

The modular nature of URBANopt allows for freedom in developing and using only the parts relevant to your work. Keep in mind the following dependencies:

gem dependency chart

We recommend releasing gems in order from the base to most dependent. For each gem being improved, follow these steps:

  1. Increment version (if needed) in /lib/*/version.rb
  2. Run rake rubocop:auto_correct on all PRs before merging to develop
  3. Run the changelog.rb script and add the changes to the file for the range of time between last release and this release. Only add the Closed Issues. Also make sure that all the pull requests have a related Issue in order to be included in the change log.
     ruby lib/ –k GITHUB_API_TOKEN –s 2020-01-01 –e 2020-03-31

    Paste the results (remove unneeded Accepted Pull Requests) into the Make sure to cleanup the formatting.

  4. Merge pull requests to the develop branch
  5. Create PR to master
    • Ensure all tests pass before merging
  6. Locally - from the master branch, run rake release to release the gem to RubyGems
  7. Update the documentation with detailed usage and helpful examples
  8. On GitHub, go to the releases page and update the latest release tag. Name it “Version x.y.z” and copy the CHANGELOG entry into the text box.
    • Link to relevant documentation URLs in release tags
  9. Update Compatibility Matrix as appropriate