Link

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. For gems with measures in them, run the following rake tasks and commit the changes:
    1. rake openstudio:test_with_openstudio
    2. rake openstudio:update_measures
  3. Run rake rubocop:auto_correct on all PRs before merging to develop
  4. Remove .DS_Store files if any are in the repo
  5. Run the changelog.rb script and add the changes to the CHANGELOG.md 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/change_log.rb –t <GITHUB_API_TOKEN> –s <START_DATE> –e <END_DATE>
    

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

  6. Merge pull requests to the develop branch
  7. Create PR to master
    • Ensure all tests pass before merging
  8. Locally - from the master branch, run rake release to release the gem to RubyGems
  9. Update the documentation with detailed usage and helpful examples
  10. 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
  11. Update Compatibility Matrix as appropriate