-
Notifications
You must be signed in to change notification settings - Fork 11
Developer Documentation
Matt Steen edited this page Apr 1, 2025
·
3 revisions
Unit testing verifies the functioning in isolation of software elements that are separately testable.
This should be done for each Measure in the source repository, not in this repository.
Integration testing verifies the interactions among the software components.
See the test/integration/README.
Regression testing verifies that modifications have not caused unintended effects.
TODO
Windows Installers of the OpenStudio CLI For Revit are generally released in two cases.
- OpenStudio releases a new stable version, e.g.
OpenStudio-vX.Y.0.- The installer's minor version should be incremented, e.g.
x.2.z.
- The installer's minor version should be incremented, e.g.
- Measure fixes and/or improvements.
- The installer's patch version should be incremented, e.g.
x.y.1.
- The installer's patch version should be incremented, e.g.
- Commit all changes for the new release, which is important for release notes since it will point to a specific commit.
- Draft a new release.
- Create a new tag according to above[^1].
- Attach the signed MSI file(s).
- Generate release notes.
[^1]: Tags can also be created via Git commands. https://git-scm.com/book/en/v2/Git-Basics-Tagging
-
gbxmls- example gbXML files, and complex models for regression testing -
measures- existing and new measures used to translate and test gbXML to OSM translation -
seeds- contains seed models used by one or more OSW workflows -
weather- contains weather files used by OSW workflows -
workflows- OSW workflow files that using the OpenStudio CLI run the gbXML to OSM translation workflow measures, forward translate OSM to IDF, and run EnergyPlus
- Install the desired version of OpenStudio (Revit currently uses OpenStudio v3.8.0)
- Install the custom version of EnergyPlus corresponding to the OpenStudio version (currently EnergyPlus 22.1.0 For Revit)
- If the version of EnergyPlus hasn't been built yet, follow the instructions in the openstudio-revit-releases repo to build one
- Change the default install location so that it can be installed alongside the official release if necessary (e.g.
C:\EnergyPlusV22-1-0-revit)
- Install Ruby v3.2.2 for Windows (devkit shouldn't be necessary)
- Open a command prompt in the
gbxml-to-openstudiodirectory - Run
gem install bundler - Run
bundler install
- Open a command prompt in the
- Install 7-Zip
- Install the latest Advanced Installer
- Pull the latest code
- Update
CHANGELOG.mdto reflect changes included in the new release - If a previous
installer_stagingdirectory exists move it toinstaller_stating.old - Run
rake build_installer, which copies files to theinstaller_stagingdirectory (bundler installmay be necessary as well if the gem dependencies have changed). Ensure that any untracked files in the following directories are removed prior to running.measuresseedsweatherworkflows
- Zip the
installer_stagingdirectory using 7-Zip, and drag the resulting zip file to thecode-signing-client.exeexecutable. 7-Zip is necessary because Windows is unable to compress files with unicode names - Once
installer_staging.signed.ziphas finished downloading simply extract the contents back into theinstaller_stagingdirectory, replacing the original files - Diff the
installer_staging.oldandinstaller_stagingdirectories- If any files were added they must be manually dragged into the Advanced Installer file tree
- If any files were removed they must be manually deleted from the Advanced Installer file tree
- In Advanced Installer, with the
Product Detailstab active, increment the patch version (e.g.1.1.5->1.1.6) and hit Save- When prompted to generate a new product code click
Generate new, and save again
- When prompted to generate a new product code click
- In Advanced Installer, with the
Product Detailstab active, clickBuildin the ribbon - Once the build has successfully completed, browse to the
OpenStudio CLI For Revit 202X-SetupFiles/directory, and drag the newly created msi to thecode-signing-client.exeexecutable - After the signed msi has been downloaded delete the original and remove the
.signedsuffix from the filename - Upload the signed msi installer to the
openstudio-cli-4rS3 bucket. Append the filename tohttps://openstudio-cli-4r.s3.amazonaws.com/to download - Delete the
installer_staging.olddirectory if it was created - Commit the
*.aipandCHANGELOG.mdfile changes - Create a git tag on the new commit matching the updated release version