From 5066e76f4e1e0f586a09a76efdb07e57703f4f1f Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Wed, 3 Apr 2019 10:44:49 -0600 Subject: [PATCH 01/16] CI needs to work w/OPENSTUDIO_VERSION_EXT to allow for testing of pre-releases. --- .travis.yml | 2 +- appveyor.yml | 1 + ci/appveyor/setup.cmd | 6 +++--- ci/travis/setup.sh | 9 +++++---- docker/deployment/scripts/install_openstudio.sh | 13 ++++++++++--- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6552fd756..7cfce05b1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ rvm: 2.2.4 env: global: - USE_TESTING_TIMEOUTS: "true" - - OPENSTUDIO_VERSION=2.8.0 OPENSTUDIO_VERSION_SHA=a7a1f79e98 + - OPENSTUDIO_VERSION=2.8.0 OPENSTUDIO_VERSION_SHA=a7a1f79e98 OPENSTUDIO_VERSION_EXT=-rc1 - DOCKER_COMPOSE_VERSION=1.21.1 gemfile: diff --git a/appveyor.yml b/appveyor.yml index 1db3a01e4..52cbbf47d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,6 +4,7 @@ environment: USE_TESTING_TIMEOUTS: "true" OPENSTUDIO_VERSION: 2.8.0 OPENSTUDIO_VERSION_SHA: a7a1f79e98 + OPENSTUDIO_VERSION_EXT: -rc1 OPENSTUDIO_TEST_EXE: C:\projects\openstudio\bin\openstudio.exe diff --git a/ci/appveyor/setup.cmd b/ci/appveyor/setup.cmd index 8001ee7ad..81765f4ee 100644 --- a/ci/appveyor/setup.cmd +++ b/ci/appveyor/setup.cmd @@ -1,7 +1,7 @@ set PATH=C:\Program Files\Git\mingw64\bin;C:\projects\openstudio\bin;%PATH% -echo Downloading and Installing OpenStudio (%OPENSTUDIO_VERSION%.%OPENSTUDIO_VERSION_SHA%) -curl -SLO --insecure https://s3.amazonaws.com/openstudio-builds/%OPENSTUDIO_VERSION%/OpenStudio-%OPENSTUDIO_VERSION%.%OPENSTUDIO_VERSION_SHA%-Windows.exe -OpenStudio-%OPENSTUDIO_VERSION%.%OPENSTUDIO_VERSION_SHA%-Windows.exe --script ci/appveyor/install-windows.qs +echo Downloading and Installing OpenStudio (%OPENSTUDIO_VERSION%%OPENSTUDIO_VERSION_EXT%.%OPENSTUDIO_VERSION_SHA%) +curl -SLO --insecure https://s3.amazonaws.com/openstudio-builds/%OPENSTUDIO_VERSION%/OpenStudio-%OPENSTUDIO_VERSION%%OPENSTUDIO_VERSION_EXT%.%OPENSTUDIO_VERSION_SHA%-Windows.exe +OpenStudio-%OPENSTUDIO_VERSION%%OPENSTUDIO_VERSION_EXT%.%OPENSTUDIO_VERSION_SHA%-Windows.exe --script ci/appveyor/install-windows.qs move C:\openstudio C:\projects\openstudio dir C:\projects\openstudio dir C:\projects\openstudio\Ruby diff --git a/ci/travis/setup.sh b/ci/travis/setup.sh index 93605a5b1..869d15aeb 100755 --- a/ci/travis/setup.sh +++ b/ci/travis/setup.sh @@ -24,12 +24,12 @@ else cp mongodb-osx-x86_64-3.4.18/bin/* /usr/local/bin/ # Install openstudio -- Use the install script that is in this repo now, the one on OpenStudio/develop has changed - curl -SLO --insecure https://s3.amazonaws.com/openstudio-builds/$OPENSTUDIO_VERSION/OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_VERSION_SHA-Darwin.zip - unzip OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_VERSION_SHA-Darwin.zip + curl -SLO --insecure https://s3.amazonaws.com/openstudio-builds/$OPENSTUDIO_VERSION/OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_VERSION_SHA-Darwin.zip + unzip OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_VERSION_SHA-Darwin.zip sed -i -e "s|REPLACEME|$HOME/openstudio|" ci/travis/install-mac.qs rm -rf $HOME/openstudio # Will install into $HOME/openstudio and RUBYLIB will be $HOME/openstudio/Ruby - sudo ./OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_VERSION_SHA-Darwin.app/Contents/MacOS/OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_VERSION_SHA-Darwin --script ci/travis/install-mac.qs + sudo ./OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_VERSION_SHA-Darwin.app/Contents/MacOS/OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_VERSION_SHA-Darwin --script ci/travis/install-mac.qs # tree ${HOME}/openstudio/Ruby elif [ "${TRAVIS_OS_NAME}" == "linux" ]; then echo "Setting up Ubuntu for unit tests and Rubocop" @@ -37,7 +37,8 @@ else sudo apt-get update sudo apt-get install -y pv tree mkdir -p reports/rspec - sudo ./docker/deployment/scripts/install_openstudio.sh $OPENSTUDIO_VERSION $OPENSTUDIO_VERSION_SHA + # AP: this appears to only be used for Travis/Linux so we should move it out of the docker/deployment/scripts dir + sudo ./docker/deployment/scripts/install_openstudio.sh $OPENSTUDIO_VERSION $OPENSTUDIO_VERSION_SHA $OPENSTUDIO_VERSION_EXT fi ruby "${TRAVIS_BUILD_DIR}/bin/openstudio_meta" install_gems --with_test_develop --debug --verbose --use_cached_gems diff --git a/docker/deployment/scripts/install_openstudio.sh b/docker/deployment/scripts/install_openstudio.sh index 25b91f299..6224a9f10 100755 --- a/docker/deployment/scripts/install_openstudio.sh +++ b/docker/deployment/scripts/install_openstudio.sh @@ -4,12 +4,19 @@ OPENSTUDIO_VERSION=$1 OPENSTUDIO_SHA=$2 +OPENSTUDIO_VERSION_EXT=$3 if [ ! -z ${OPENSTUDIO_VERSION} ] && [ ! -z ${OPENSTUDIO_SHA} ]; then - echo "Installing OpenStudio ${OPENSTUDIO_VERSION}.${OPENSTUDIO_SHA}" + # OPENSTUDIO_VERSION_EXT may be empty + if [ ! -z ${OPENSTUDIO_VERSION_EXT} ]; + OPENSTUDIO_DOWNLOAD_FILENAME=OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_SHA-Linux.deb + else + OPENSTUDIO_DOWNLOAD_FILENAME=OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_SHA-Linux.deb + fi + + echo "Installing OpenStudio ${OPENSTUDIO_DOWNLOAD_FILENAME}" OPENSTUDIO_DOWNLOAD_BASE_URL=https://s3.amazonaws.com/openstudio-builds/$OPENSTUDIO_VERSION - OPENSTUDIO_DOWNLOAD_FILENAME=OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_SHA-Linux.deb OPENSTUDIO_DOWNLOAD_URL=$OPENSTUDIO_DOWNLOAD_BASE_URL/$OPENSTUDIO_DOWNLOAD_FILENAME # Install gdebi, then download and install OpenStudio, then clean up. @@ -27,6 +34,6 @@ if [ ! -z ${OPENSTUDIO_VERSION} ] && [ ! -z ${OPENSTUDIO_SHA} ]; then && rm -rf /usr/SketchUpPlugin \ && rm -rf /var/lib/apt/lists/* else - echo "Must pass in the OpenStudio version and sha to be installed (e.g. install_openstudio.sh 2.4.0 f58a3e1808)" + echo "Must pass in the OpenStudio version, and sha to be installed (e.g. install_openstudio.sh 2.4.0 f58a3e1808)" exit 9 fi \ No newline at end of file From e46da9577506a38d2f0daf339f07d6a4df315859 Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Tue, 21 May 2019 10:41:53 -0600 Subject: [PATCH 02/16] clean up build file name logic --- docker/deployment/scripts/install_openstudio.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/docker/deployment/scripts/install_openstudio.sh b/docker/deployment/scripts/install_openstudio.sh index 6224a9f10..78f262831 100755 --- a/docker/deployment/scripts/install_openstudio.sh +++ b/docker/deployment/scripts/install_openstudio.sh @@ -8,11 +8,7 @@ OPENSTUDIO_VERSION_EXT=$3 if [ ! -z ${OPENSTUDIO_VERSION} ] && [ ! -z ${OPENSTUDIO_SHA} ]; then # OPENSTUDIO_VERSION_EXT may be empty - if [ ! -z ${OPENSTUDIO_VERSION_EXT} ]; - OPENSTUDIO_DOWNLOAD_FILENAME=OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_SHA-Linux.deb - else - OPENSTUDIO_DOWNLOAD_FILENAME=OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_SHA-Linux.deb - fi + OPENSTUDIO_DOWNLOAD_FILENAME=OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_SHA-Linux.deb echo "Installing OpenStudio ${OPENSTUDIO_DOWNLOAD_FILENAME}" @@ -34,6 +30,6 @@ if [ ! -z ${OPENSTUDIO_VERSION} ] && [ ! -z ${OPENSTUDIO_SHA} ]; then && rm -rf /usr/SketchUpPlugin \ && rm -rf /var/lib/apt/lists/* else - echo "Must pass in the OpenStudio version, and sha to be installed (e.g. install_openstudio.sh 2.4.0 f58a3e1808)" + echo "Must pass in the OpenStudio version, and sha to be installed (e.g. install_openstudio.sh 2.4.0 f58a3e1808)" exit 9 fi \ No newline at end of file From a89b871a19f477cfaf658eaf9e69f359963d6207 Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Tue, 21 May 2019 11:35:10 -0600 Subject: [PATCH 03/16] cleanup openstudio install for osx --- ci/travis/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/travis/setup.sh b/ci/travis/setup.sh index 869d15aeb..9b55267b2 100755 --- a/ci/travis/setup.sh +++ b/ci/travis/setup.sh @@ -29,7 +29,7 @@ else sed -i -e "s|REPLACEME|$HOME/openstudio|" ci/travis/install-mac.qs rm -rf $HOME/openstudio # Will install into $HOME/openstudio and RUBYLIB will be $HOME/openstudio/Ruby - sudo ./OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_VERSION_SHA-Darwin.app/Contents/MacOS/OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_VERSION_SHA-Darwin --script ci/travis/install-mac.qs + sudo ./OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_VERSION_SHA-Darwin.app/Contents/MacOS/OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_VERSION_SHA-Darwin --script ci/travis/install-mac.qs # tree ${HOME}/openstudio/Ruby elif [ "${TRAVIS_OS_NAME}" == "linux" ]; then echo "Setting up Ubuntu for unit tests and Rubocop" From 7f481d0b0e409a8f0ac4189e8ae8ced398d7e937 Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Tue, 21 May 2019 11:42:06 -0600 Subject: [PATCH 04/16] re-introduce suffix --- docker/deployment/scripts/install_openstudio.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/deployment/scripts/install_openstudio.sh b/docker/deployment/scripts/install_openstudio.sh index 78f262831..d999897d0 100755 --- a/docker/deployment/scripts/install_openstudio.sh +++ b/docker/deployment/scripts/install_openstudio.sh @@ -8,7 +8,7 @@ OPENSTUDIO_VERSION_EXT=$3 if [ ! -z ${OPENSTUDIO_VERSION} ] && [ ! -z ${OPENSTUDIO_SHA} ]; then # OPENSTUDIO_VERSION_EXT may be empty - OPENSTUDIO_DOWNLOAD_FILENAME=OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_SHA-Linux.deb + OPENSTUDIO_DOWNLOAD_FILENAME=OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_SHA-Linux.deb echo "Installing OpenStudio ${OPENSTUDIO_DOWNLOAD_FILENAME}" From a20c988fb31d039d6b774e2677bdb42d98ae7f5d Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Tue, 21 May 2019 11:56:32 -0600 Subject: [PATCH 05/16] use build arg to set base openstudio image for docker build. --- .travis.yml | 3 ++- Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2c12fbeb5..518de00f2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -80,11 +80,12 @@ jobs: env: - BUILD_TYPE=docker before_script: + - export OPENSTUDIO_TAG=$(ruby -e "load 'server/app/lib/openstudio_server/version.rb'; print OpenstudioServer::VERSION+OpenstudioServer::VERSION_EXT") - docker images --all - docker --version - docker-compose --version - docker volume create --name=osdata - - docker-compose build web + - docker-compose build --build-arg OPENSTUDIO_VERSION=$OPENSTUDIO_TAG web - docker-compose build rserve script: ./docker/deployment/scripts/deploy_docker.sh diff --git a/Dockerfile b/Dockerfile index 017dd9e74..674a39ef1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,8 +3,8 @@ # TO_BUILD_AND_RUN: docker-compose up # NOTES: Currently this is one big dockerfile and non-optimal. - -ARG OPENSTUDIO_VERSION=2.8.0 +#may include suffix +ARG OPENSTUDIO_VERSION FROM nrel/openstudio:$OPENSTUDIO_VERSION as base MAINTAINER Nicholas Long nicholas.long@nrel.gov From 1a00f701349e18dbe97e9620973c90a36f1d69dd Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Tue, 21 May 2019 11:57:06 -0600 Subject: [PATCH 06/16] don't use ext in nrcan branch - assume updates to this will happen w/in that branch. --- docker/deployment/scripts/deploy_docker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/deployment/scripts/deploy_docker.sh b/docker/deployment/scripts/deploy_docker.sh index 9d1b0fcf0..2963963b7 100755 --- a/docker/deployment/scripts/deploy_docker.sh +++ b/docker/deployment/scripts/deploy_docker.sh @@ -5,7 +5,7 @@ if [ "${TRAVIS_BRANCH}" == "develop" ]; then IMAGETAG=develop elif [ "${TRAVIS_BRANCH}" == "nrcan-master" ]; then # NRCAN is still using pre 2.4.1 version of Server. This will break when they upgrade. - IMAGETAG="$(ruby -e "load 'server/lib/openstudio_server/version.rb'; print OpenstudioServer::VERSION+OpenstudioServer::VERSION_EXT")-nrcan" + IMAGETAG="$(ruby -e "load 'server/lib/openstudio_server/version.rb'; print OpenstudioServer::VERSION")-nrcan" elif [ "${TRAVIS_BRANCH}" == "master" ]; then # Retrieve the version number from rails IMAGETAG="$(ruby -e "load 'server/app/lib/openstudio_server/version.rb'; print OpenstudioServer::VERSION+OpenstudioServer::VERSION_EXT")" From 50e0f131c59607792dd129b922bf2a1ce41e7b0a Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Tue, 21 May 2019 11:57:56 -0600 Subject: [PATCH 07/16] include openstudio sha in version.rb to consoldate version info in one place. --- server/app/lib/openstudio_server/version.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/app/lib/openstudio_server/version.rb b/server/app/lib/openstudio_server/version.rb index e9cb46e69..1df3e2515 100644 --- a/server/app/lib/openstudio_server/version.rb +++ b/server/app/lib/openstudio_server/version.rb @@ -36,6 +36,7 @@ module OpenstudioServer VERSION = '2.8.0'.freeze # format should be ^.*\-{1}[a-z]+[0-9]+ - # for example: -rc0, -beta6, -customusecase0 + # for example: -rc1, -beta6, -customusecase0 VERSION_EXT = ''.freeze # with preceding - or + + OS_SHA = '55665635f0' end From 7207614e806c6eb2a9b0f8edc54b86495785dfe1 Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Tue, 21 May 2019 12:54:09 -0600 Subject: [PATCH 08/16] add build arg to test build script --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 518de00f2..9a5977c25 100644 --- a/.travis.yml +++ b/.travis.yml @@ -56,13 +56,14 @@ jobs: - BUILD_TYPE=docker before_script: # remove the .git in the .dockerignore so coverage can be reported correctly to coveralls + - export OPENSTUDIO_TAG=$(ruby -e "load 'server/app/lib/openstudio_server/version.rb'; print OpenstudioServer::VERSION+OpenstudioServer::VERSION_EXT") - sed -i -E "s/.git//g" .dockerignore - docker volume create --name=osdata - docker images --all - docker --version - docker-compose --version - docker-compose -f docker-compose.test.yml pull - - docker-compose -f docker-compose.test.yml build + - docker-compose -f docker-compose.test.yml build --build-arg OPENSTUDIO_VERSION=$OPENSTUDIO_TAG script: - docker-compose -f docker-compose.test.yml run web && docker-compose stop after_script: From 0cd24da62182a81bcf58bf1aabf5bc7ea8d9ae05 Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Thu, 30 May 2019 21:11:15 -0600 Subject: [PATCH 09/16] update version info for appveyor and travis --- .travis.yml | 2 +- appveyor.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9a5977c25..513547a47 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ rvm: 2.2.4 env: global: - USE_TESTING_TIMEOUTS: "true" - - OPENSTUDIO_VERSION=2.8.0 OPENSTUDIO_VERSION_SHA=55665635f0 OPENSTUDIO_VERSION_EXT= + - OPENSTUDIO_VERSION=2.8.1 OPENSTUDIO_VERSION_SHA=809785b98f OPENSTUDIO_VERSION_EXT=-rc1 - DOCKER_COMPOSE_VERSION=1.21.1 gemfile: diff --git a/appveyor.yml b/appveyor.yml index b702058e9..7bcab27ac 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,9 +2,9 @@ version: 1.0.{build}-{branch} environment: USE_TESTING_TIMEOUTS: "true" - OPENSTUDIO_VERSION: 2.8.0 - OPENSTUDIO_VERSION_SHA: 55665635f0 - OPENSTUDIO_VERSION_EXT: + OPENSTUDIO_VERSION: 2.8.1 + OPENSTUDIO_VERSION_SHA: 809785b98f + OPENSTUDIO_VERSION_EXT: -rc1 OPENSTUDIO_TEST_EXE: C:\projects\openstudio\bin\openstudio.exe From 040f733b9257c8e60822a69da8a5abb3cc01bea1 Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Fri, 31 May 2019 09:34:42 -0600 Subject: [PATCH 10/16] fix openstudio install script for mac - installed openstudio paths never include version suffix. --- ci/travis/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/travis/setup.sh b/ci/travis/setup.sh index 9b55267b2..9a3ce7837 100755 --- a/ci/travis/setup.sh +++ b/ci/travis/setup.sh @@ -29,7 +29,7 @@ else sed -i -e "s|REPLACEME|$HOME/openstudio|" ci/travis/install-mac.qs rm -rf $HOME/openstudio # Will install into $HOME/openstudio and RUBYLIB will be $HOME/openstudio/Ruby - sudo ./OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_VERSION_SHA-Darwin.app/Contents/MacOS/OpenStudio-$OPENSTUDIO_VERSION$OPENSTUDIO_VERSION_EXT.$OPENSTUDIO_VERSION_SHA-Darwin --script ci/travis/install-mac.qs + sudo ./OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_VERSION_SHA-Darwin.app/Contents/MacOS/OpenStudio-$OPENSTUDIO_VERSION.$OPENSTUDIO_VERSION_SHA-Darwin --script ci/travis/install-mac.qs # tree ${HOME}/openstudio/Ruby elif [ "${TRAVIS_OS_NAME}" == "linux" ]; then echo "Setting up Ubuntu for unit tests and Rubocop" From 67725f1b65e45285ada847385c244844ba805388 Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Fri, 31 May 2019 12:06:02 -0600 Subject: [PATCH 11/16] keep bundler version in sync w/openstudio. (probably want this moved to a var at top of file) --- bin/openstudio_meta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/openstudio_meta b/bin/openstudio_meta index 01444ff5e..ad13bdf13 100755 --- a/bin/openstudio_meta +++ b/bin/openstudio_meta @@ -344,7 +344,7 @@ class InstallGems rake_bin = File.absolute_path('./../gems/bin/rake/') sys_cmds = [] - sys_cmds << "#{$ruby_path} #{RbConfig::CONFIG['prefix']}/bin/gem install --no-env-shebang bundler -v 1.14.4" + sys_cmds << "#{$ruby_path} #{RbConfig::CONFIG['prefix']}/bin/gem install --no-env-shebang bundler -v 1.17.1" if /darwin/.match(RUBY_PLATFORM) sys_cmds << "#{$ruby_path} #{bundler_bin} config build.nokogiri --use-system-libraries --with-xml2-lib=/usr/lib --with-xml2-include=/usr/include" end From 29692f968b32c511804fb30fa831338f3ce7fc3e Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Sun, 2 Jun 2019 22:28:10 -0600 Subject: [PATCH 12/16] hack to get to output of oscli command --- server/spec/features/dj_run_simulation_data_point_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/server/spec/features/dj_run_simulation_data_point_spec.rb b/server/spec/features/dj_run_simulation_data_point_spec.rb index 81fe526c4..dfc47073f 100644 --- a/server/spec/features/dj_run_simulation_data_point_spec.rb +++ b/server/spec/features/dj_run_simulation_data_point_spec.rb @@ -176,6 +176,7 @@ # pulling data point simulation log l = RestClient.get "http://#{host}/data_points/#{datapoint_id}/download_result_file?filename=#{datapoint_id}.log" + expect(l).to eq('hack to inspect oscli output') expect(l.include?('Oscli output:')).to eq(true) # Verify that the results exist From ff8a87febdee9e352eb10715155c0907c4ce2023 Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Sun, 2 Jun 2019 22:39:42 -0600 Subject: [PATCH 13/16] second hack to get to output --- spec/tests/openstudio_meta_spec.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/tests/openstudio_meta_spec.rb b/spec/tests/openstudio_meta_spec.rb index 25786c656..29247e1de 100644 --- a/spec/tests/openstudio_meta_spec.rb +++ b/spec/tests/openstudio_meta_spec.rb @@ -253,6 +253,8 @@ class LocalRspecTest a = RestClient.get "http://localhost:8080/data_points/#{data_point[:_id]}.json" a = JSON.parse(a, symbolize_names: true) expect(a[:data_point][:status_message]).to eq('completed normal') + l = RestClient.get "http://localhost:8080/data_points/#{data_point[:_id]}/download_result_file?filename=#{data_point[:_id]}.log" + expect(l).to eq('hack to view oscli output') end end From f97afe8c9234cfa733d0381ff4ab8bd64532e149 Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Sun, 2 Jun 2019 23:14:36 -0600 Subject: [PATCH 14/16] reorder hack test to run before failing 'completed normal' check --- server/spec/features/dj_run_simulation_data_point_spec.rb | 5 ++++- spec/tests/openstudio_meta_spec.rb | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/server/spec/features/dj_run_simulation_data_point_spec.rb b/server/spec/features/dj_run_simulation_data_point_spec.rb index dfc47073f..215980708 100644 --- a/server/spec/features/dj_run_simulation_data_point_spec.rb +++ b/server/spec/features/dj_run_simulation_data_point_spec.rb @@ -163,6 +163,10 @@ a = RestClient.get "http://#{host}/data_points/#{datapoint_id}.json" a = JSON.parse(a, symbolize_names: true) puts a + + l = RestClient.get "http://#{host}/data_points/#{datapoint_id}/download_result_file?filename=#{datapoint_id}.log" + expect(l).to eq('hack to inspect oscli output') + expect(a[:data_point][:name]).to eq('Test Datapoint') expect(a[:data_point][:status_message]).to eq('completed normal') expect(a[:data_point][:status]).to eq('completed') @@ -176,7 +180,6 @@ # pulling data point simulation log l = RestClient.get "http://#{host}/data_points/#{datapoint_id}/download_result_file?filename=#{datapoint_id}.log" - expect(l).to eq('hack to inspect oscli output') expect(l.include?('Oscli output:')).to eq(true) # Verify that the results exist diff --git a/spec/tests/openstudio_meta_spec.rb b/spec/tests/openstudio_meta_spec.rb index 29247e1de..23da16cb0 100644 --- a/spec/tests/openstudio_meta_spec.rb +++ b/spec/tests/openstudio_meta_spec.rb @@ -250,11 +250,11 @@ class LocalRspecTest end end data_points.each do |data_point| + l = RestClient.get "http://localhost:8080/data_points/#{data_point[:_id]}/download_result_file?filename=#{data_point[:_id]}.log" + expect(l).to eq('hack to view oscli output') a = RestClient.get "http://localhost:8080/data_points/#{data_point[:_id]}.json" a = JSON.parse(a, symbolize_names: true) expect(a[:data_point][:status_message]).to eq('completed normal') - l = RestClient.get "http://localhost:8080/data_points/#{data_point[:_id]}/download_result_file?filename=#{data_point[:_id]}.log" - expect(l).to eq('hack to view oscli output') end end From 23160bdf9abfb8f0daa3e5037b7c1f6bbc997ec7 Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Mon, 3 Jun 2019 10:55:01 -0600 Subject: [PATCH 15/16] unset everything from https://github.com/NREL/openstudio-extension-gem/blob/develop/lib/openstudio/extension/runner.rb#L155 --- .../jobs/dj_jobs/run_simulate_data_point.rb | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/server/app/jobs/dj_jobs/run_simulate_data_point.rb b/server/app/jobs/dj_jobs/run_simulate_data_point.rb index fd38910cf..8aa54ae72 100644 --- a/server/app/jobs/dj_jobs/run_simulate_data_point.rb +++ b/server/app/jobs/dj_jobs/run_simulate_data_point.rb @@ -195,8 +195,22 @@ def perform cmd = "#{Utility::Oss.oscli_cmd(@sim_logger)} --verbose run --workflow '#{osw_path}' --debug" process_log = File.join(simulation_dir, 'oscli_simulation.log') @sim_logger.info "Running workflow using cmd #{cmd} and writing log to #{process_log}" - - pid = Process.spawn({ 'BUNDLE_GEMFILE' => nil, 'BUNDLE_PATH' => nil }, cmd, [:err, :out] => [process_log, 'w']) + oscli_env_unset = { + 'BUNDLE_GEMFILE' => nil, + 'BUNDLE_PATH' => nil, + 'RUBYLIB' => nil, + 'RUBYOPT' => nil, + 'BUNDLE_BIN_PATH' => nil, + 'BUNDLER_VERSION' => nil, + 'BUNDLER_ORIG_PATH' => nil, + 'BUNDLER_ORIG_MANPATH' => nil, + 'GEM_PATH' => nil, + 'GEM_HOME' => nil, + 'BUNDLE_GEMFILE' => nil, + 'BUNDLE_PATH' => nil, + 'BUNDLE_WITHOUT' => nil + } + pid = Process.spawn(oscli_env_unset, cmd, [:err, :out] => [process_log, 'w']) # timeout the process if it doesn't return in 4 hours Timeout.timeout(14400) do From 6195fc057795737f8156c0d384b1cbb61a504e4e Mon Sep 17 00:00:00 2001 From: "Petersen, Anya" Date: Mon, 3 Jun 2019 11:31:10 -0600 Subject: [PATCH 16/16] remove hack to get cli output --- server/spec/features/dj_run_simulation_data_point_spec.rb | 4 ++-- spec/tests/openstudio_meta_spec.rb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/server/spec/features/dj_run_simulation_data_point_spec.rb b/server/spec/features/dj_run_simulation_data_point_spec.rb index 215980708..c062115f8 100644 --- a/server/spec/features/dj_run_simulation_data_point_spec.rb +++ b/server/spec/features/dj_run_simulation_data_point_spec.rb @@ -164,8 +164,8 @@ a = JSON.parse(a, symbolize_names: true) puts a - l = RestClient.get "http://#{host}/data_points/#{datapoint_id}/download_result_file?filename=#{datapoint_id}.log" - expect(l).to eq('hack to inspect oscli output') + # l = RestClient.get "http://#{host}/data_points/#{datapoint_id}/download_result_file?filename=#{datapoint_id}.log" + # expect(l).to eq('hack to inspect oscli output') expect(a[:data_point][:name]).to eq('Test Datapoint') expect(a[:data_point][:status_message]).to eq('completed normal') diff --git a/spec/tests/openstudio_meta_spec.rb b/spec/tests/openstudio_meta_spec.rb index 23da16cb0..dd8ab5b68 100644 --- a/spec/tests/openstudio_meta_spec.rb +++ b/spec/tests/openstudio_meta_spec.rb @@ -250,8 +250,8 @@ class LocalRspecTest end end data_points.each do |data_point| - l = RestClient.get "http://localhost:8080/data_points/#{data_point[:_id]}/download_result_file?filename=#{data_point[:_id]}.log" - expect(l).to eq('hack to view oscli output') + # l = RestClient.get "http://localhost:8080/data_points/#{data_point[:_id]}/download_result_file?filename=#{data_point[:_id]}.log" + # expect(l).to eq('hack to view oscli output') a = RestClient.get "http://localhost:8080/data_points/#{data_point[:_id]}.json" a = JSON.parse(a, symbolize_names: true) expect(a[:data_point][:status_message]).to eq('completed normal')