-
Notifications
You must be signed in to change notification settings - Fork 394
Continuous Integration
Jason Turner edited this page Mar 19, 2015
·
5 revisions
Continuous Integration is facilitated through the use of the decent_ci system.
The files .decent_ci.yaml
, .decent_ci-Linux.yaml
, .decent_ci-Windows.yaml
and .decent_ci-MacOS.yaml
in the root
folder configure the build system.
For building EnergyPlus, you need to set up the requirements for decent_ci, and follow its instructions here:
https://github.com/lefticus/decent_ci/wiki/Decent-CI-Cheat-Sheet
Additionally, EnergyPlus requires that the boto python package be installed to run regresion tests
pip install boto
- Windows - nsis 2.x (http://nsis.sourceforge.net/Main_Page)
- MacOS - packagemaker (hard to find and install, but technically still available)
pip may not be installed if you are running Python 2.7. An upgrade to python 3.4 is acceptable from the standpoint of EnergyPlus.
correct use of multiple compilers for non-VisualStudioRefactor configuration into input yaml filePass location of yaml file (repository / local) to ci.rb-
Create script (update_ci.rb) for grabbing ci.rb and current configuration from github so that the process it automatically and continuously updating.(https://gist.github.com/lefticus/10914850 script runs in a loop, grabbing latest ci.rb and executing it against passed params) Add timeout settings for ruby calls to external processesEnsure that ctest timeout is set to something reasonable-
Add code comments(also split up code some, this could use work) - Add config options
- enable / disable clean up of build folders
- logging verbosity
enable / disable posting to github- set build type per compiler
autofind cmake on windows, assume running from git bash on windows
-
Get new github repo created: NREL/energyplus-build-results (or use a personal one, lefticus/energyplus-build-results, if necessary for now)Using personal for now http://github.com/lefticus/energyplus_build_results - Set up windows / mac / linux systems running the update_ci.rb
- Verify they are running
- Enable posting to github
- Execute all example idfs
- save data
- sanity check on simple pass/fail of execution of simulation
- After execution of integration test, run numerical comparison vs baseline (master is baseline for develop, develop is baseline for everything else)
- Out of spec comparisons are considered failures note: with multiple build machines, it might be hard or impossible to do these at test time, due to not knowing if the baseline data is done yet