Link Search Menu Expand Document

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:
     rake openstudio:test_with_openstudio
     rake openstudio:update_measures
    
  3. Run RuboCop on all PRs before merging to develop
     rake rubocop:auto_correct
    
  4. Remove .DS_Store files if any are in the repo
  5. If the gem has rdoc documentation, regenerate the rdocs
  6. Run the changelog rake task and add the changes to the CHANGELOG file for the range of time between last release and this release. Also make sure that all pull requests have a related Issue to be included in the change log.
     rake openstudio:change_log[start_date,end_date,apikey]
    

    No spaces around the commas! Paste the Closed Issues into the CHANGELOG, matching formatting as appropriate.

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

URBANopt, Copyright (c) 2019-2021, Alliance for Sustainable Energy, LLC, and other contributors. All rights reserved.