Skip to content

Commit d6e8951

Browse files
authored
Merge pull request #835 from NREL/3.11.0
3.11.0
2 parents 5873e0d + 8bd3286 commit d6e8951

28 files changed

+279
-204
lines changed

.github/workflows/openstudio-server-tests.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ on: [push, pull_request]
1010

1111
env:
1212
USE_TESTING_TIMEOUTS: "true"
13-
OPENSTUDIO_VERSION: 3.10.0
14-
OPENSTUDIO_VERSION_SHA: 86d7e215a1
13+
OPENSTUDIO_VERSION: 3.11.0
14+
OPENSTUDIO_VERSION_SHA: 241b8abb4d
1515
OPENSTUDIO_VERSION_EXT: ""
1616
DOCKER_COMPOSE_VERSION: 1.21.1
1717
BUNDLE_WITHOUT: native_ext
1818

1919

2020
jobs:
2121
linux-test:
22-
runs-on: ubuntu-22.04
22+
runs-on: ubuntu-24.04
2323
steps:
2424
- name: Delete huge unnecessary tools folder
2525
run: rm -rf /opt/hostedtoolcache
@@ -56,7 +56,7 @@ jobs:
5656
name: openstudio-server-gems-linux
5757
path: build/NREL/export/*.tar.gz
5858
macos-test:
59-
runs-on: macos-13
59+
runs-on: macos-15-intel
6060
steps:
6161
- name: Check out repository
6262
uses: actions/checkout@v4
@@ -91,7 +91,7 @@ jobs:
9191
name: openstudio-server-gems-darwin
9292
path: build/NREL/export/*.tar.gz
9393
docker:
94-
runs-on: ubuntu-22.04
94+
runs-on: ubuntu-24.04
9595
steps:
9696
- name: Delete huge unnecessary tools folder
9797
run: rm -rf /opt/hostedtoolcache
@@ -105,7 +105,7 @@ jobs:
105105
- name: docker
106106
shell: bash
107107
run: |
108-
export OPENSTUDIO_TAG=3.10.0
108+
export OPENSTUDIO_TAG=3.11.0
109109
sed -i -E "s/.git//g" .dockerignore
110110
docker volume create --name=osdata
111111
docker images --all
@@ -131,7 +131,7 @@ jobs:
131131
if: |
132132
github.ref == 'refs/heads/master' ||
133133
github.ref == 'refs/heads/develop' ||
134-
github.ref == 'refs/heads/custom_gems'
134+
github.ref == 'refs/heads/3.11.0'
135135
shell: bash
136136
run: ./docker/deployment/scripts/deploy_docker_github_actions.sh
137137
env:

.github/workflows/security-scan.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ on: [push, pull_request]
1010

1111
env:
1212
USE_TESTING_TIMEOUTS: "true"
13-
OPENSTUDIO_VERSION: 3.10.0
14-
OPENSTUDIO_VERSION_SHA: 86d7e215a1
13+
OPENSTUDIO_VERSION: 3.11.0
14+
OPENSTUDIO_VERSION_SHA: 241b8abb4d
1515
OPENSTUDIO_VERSION_EXT: ""
1616
DOCKER_COMPOSE_VERSION: 1.21.1
1717
BUNDLE_WITHOUT: native_ext
1818

1919

2020
jobs:
2121
docker-scan:
22-
runs-on: ubuntu-22.04
22+
runs-on: ubuntu-24.04
2323
steps:
2424
- name: Check out repository
2525
uses: actions/checkout@v2
@@ -31,7 +31,7 @@ jobs:
3131
- name: docker
3232
shell: bash
3333
run: |
34-
export OPENSTUDIO_TAG=3.10.0
34+
export OPENSTUDIO_TAG=3.11.0
3535
sed -i -E "s/.git//g" .dockerignore
3636
docker volume create --name=osdata
3737
docker images --all

CHANGELOG.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
OpenStudio Server
22
=================
33

4+
Version 3.11.0
5+
-------------
6+
* Bumped OpenStudio Server version to 3.11.0.
7+
* Updated CI and build infrastructure to support newer platforms:
8+
* Migrated Ubuntu CI from 22.04 to 24.04.
9+
* Updated macOS runner and version checks to support macOS 15.
10+
* Updated MongoDB version used in CI to 8.x.
11+
* Updated container tags and packaging logic for modern OS targets.
12+
* Updated packaged Ruby and dependency handling for Ubuntu 24.04.
13+
* Adjusted test expectations in docker_stack_requeue_spec.rb to reflect updated behavior.
14+
* Cleaned up legacy Windows install and packaging logic.
15+
416
Version 3.10.0
517
-------------
618
* Custom Gems working again https://github.com/NREL/OpenStudio-server/pull/818
@@ -11,7 +23,7 @@ Version 3.10.0
1123
* Local Server startup enhancements for PAT https://github.com/NREL/OpenStudio-server/pull/827
1224

1325

14-
Version 3.9.0-rc3
26+
Version 3.9.0
1527
-------------
1628
* 3.9.0 was pulled and several RCs were tried to fix various issues. This was the last RC before we ran out of funding for the release cycle.
1729
* Custom Gems have not worked since Ruby 3 upgrade (3.8.0)

Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44
# NOTES: Currently this is one big dockerfile and non-optimal.
55

66
#may include suffix
7-
ARG OPENSTUDIO_VERSION=3.10.0
8-
FROM nrel/openstudio:3.10.0 AS base
7+
ARG OPENSTUDIO_VERSION=3.11.0
8+
FROM nrel/openstudio:3.11.0 AS base
99
ARG OPENSTUDIO_VERSION
1010

1111
ENV DEBIAN_FRONTEND=noninteractive
1212
# Install required libaries.
1313
# realpath - needed for wait-for-it
1414
RUN apt-get update && apt-get install -y wget gnupg lsb-release \
15-
&& wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | gpg --dearmor | tee /usr/share/keyrings/mongodb-org-6.0-archive-keyring.gpg \
16-
&& echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-org-6.0-archive-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list \
15+
&& wget -qO - https://www.mongodb.org/static/pgp/server-8.0.asc | gpg --dearmor | tee /usr/share/keyrings/mongodb-org-8.0-archive-keyring.gpg \
16+
&& echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-org-8.0-archive-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/8.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-8.0.list \
1717
&& apt-get update \
1818
&& apt-get install -y --no-install-recommends \
1919
mongodb-org \

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ fundamentals.
3131

3232
The [openstudio_meta](./bin/openstudio_meta) file is a ruby script which provides access to packaging and execution
3333
commands which allow for this codebase to be embedded in applications deployed to computers without docker. Deployment
34-
requires that [MongoDB 6.0.7](https://www.mongodb.com/download-center/community/releases/archive) and [Ruby v2.7](https://www.ruby-lang.org/en/downloads/)
34+
requires that [MongoDB 8.0.12](https://www.mongodb.com/download-center/community/releases/archive) and [Ruby v3.2](https://www.ruby-lang.org/en/downloads/)
3535
are additionally packaged.
3636

3737
The openstudio_meta deployment relies on the `install_gems` command, which uses local system libraries to build all

appveyor.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ image: Visual Studio 2019
44

55
environment:
66
USE_TESTING_TIMEOUTS: "true"
7-
OPENSTUDIO_VERSION: 3.10.0
8-
OPENSTUDIO_VERSION_SHA: 86d7e215a1
7+
OPENSTUDIO_VERSION: 3.11.0
8+
OPENSTUDIO_VERSION_SHA: 241b8abb4d
99
OPENSTUDIO_VERSION_EXT: ""
1010
OPENSTUDIO_TEST_EXE: C:\projects\openstudio\bin\openstudio.exe
1111
BUILD_TYPE: "test"
@@ -16,7 +16,7 @@ artifacts:
1616
name: oss.tar.gz
1717

1818
init:
19-
#- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
19+
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
2020

2121
clone_folder: C:\projects\openstudio-server
2222

ci/appveyor/install-windows.qs

Lines changed: 0 additions & 46 deletions
This file was deleted.

ci/appveyor/setup.cmd

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,34 +20,16 @@ if %ERRORLEVEL% neq 0 (
2020
dir .
2121

2222
REM “Unblock” the file so Windows does not refuse to execute it
23-
powershell -Command "Unblock-File -Path '%OS_INSTALL_NAME%'"
24-
25-
REM Execute the OpenStudio installer
26-
REM %OS_INSTALL_NAME% --script ci/appveyor/install-windows.qs
27-
REM 3) Run the OpenStudio installer in “quiet” mode, pointing to our QScript
28-
echo Launching installer…
29-
REM Use “.\” to ensure we’re running the downloaded EXE in the current directory
30-
start "" /wait "%OS_INSTALL_NAME%" --script ci/appveyor/install-windows.qs
23+
powershell -Command "Unblock-File -Path '%CD%\%OS_INSTALL_NAME%'"
24+
25+
echo Execute the OpenStudio installer
26+
"%OS_INSTALL_NAME%" /S /D=C:\projects\openstudio
3127
if %ERRORLEVEL% neq 0 (
3228
echo.
3329
echo ERROR: OpenStudio installer "%OS_INSTALL_NAME%" returned error code %ERRORLEVEL%. Aborting.
3430
exit /b 1
3531
)
3632

37-
REM move C:\openstudio C:\projects\openstudio
38-
REM 4) Move the default “C:\openstudio” install directory into the projects dir
39-
if exist C:\openstudio (
40-
move /Y C:\openstudio C:\projects\openstudio
41-
if %ERRORLEVEL% neq 0 (
42-
echo.
43-
echo ERROR: Could not move “C:\openstudio” to “C:\projects\openstudio”. Check permissions.
44-
exit /b 1
45-
)
46-
) else (
47-
echo.
48-
echo ERROR: After running the installer, “C:\openstudio” was not found. Aborting.
49-
exit /b 1
50-
)
5133
dir C:\projects\openstudio
5234

5335
REM Cleanup installer

ci/github-actions/install_openstudio.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ OPENSTUDIO_VERSION_EXT="${3:-}"
88

99
if [ ! -z ${OPENSTUDIO_VERSION} ] && [ ! -z ${OPENSTUDIO_SHA} ]; then
1010
# OPENSTUDIO_VERSION_EXT may be empty
11-
OPENSTUDIO_DOWNLOAD_FILENAME=OpenStudio-${OPENSTUDIO_VERSION}${OPENSTUDIO_VERSION_EXT}+${OPENSTUDIO_SHA}-Ubuntu-22.04-x86_64.deb
11+
OPENSTUDIO_DOWNLOAD_FILENAME=OpenStudio-${OPENSTUDIO_VERSION}${OPENSTUDIO_VERSION_EXT}+${OPENSTUDIO_SHA}-Ubuntu-24.04-x86_64.deb
1212
echo "Installing OpenStudio ${OPENSTUDIO_DOWNLOAD_FILENAME}"
1313
#OPENSTUDIO_DOWNLOAD_BASE_URL=https://openstudio-ci-builds.s3-us-west-2.amazonaws.com/develop
1414
#OPENSTUDIO_DOWNLOAD_BASE_URL=https://github.com/NREL/OpenStudio/releases/download/v3.8.0

ci/github-actions/setup.sh

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
set -euo pipefail
33
echo "The build architecture is ${ImageOS}"
44

5-
if [ "${ImageOS}" == "ubuntu22" ] && [ "${BUILD_TYPE}" == "docker" ]; then
5+
if [ "${ImageOS}" == "ubuntu24" ] && [ "${BUILD_TYPE}" == "docker" ]; then
66
echo "Installing docker compose"
77
sudo rm -f /usr/local/bin/docker-compose
88
curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
@@ -14,7 +14,7 @@ if [ "${ImageOS}" == "ubuntu22" ] && [ "${BUILD_TYPE}" == "docker" ]; then
1414

1515
else
1616
# sudo rvm implode --force # rvm PATH rewriting interferes with portable Ruby.
17-
if [ "${ImageOS}" == "macos13" ]; then
17+
if [ "${ImageOS}" == "macos15" ]; then
1818

1919
brew update > $GITHUB_WORKSPACE/spec/files/logs/brew-update.log
2020
brew install pv tree coreutils shared-mime-info
@@ -33,14 +33,14 @@ else
3333
rm ruby-3.2.2-darwin.tar.gz
3434

3535
# Install mongodb from a download. Brew is hanging and requires building mongo. This also speeds up the builds.
36-
curl -SLO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-6.0.7.tgz
37-
tar xvzf mongodb-macos-x86_64-6.0.7.tgz
36+
curl -SLO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-8.0.12.tgz
37+
tar xvzf mongodb-macos-x86_64-8.0.12.tgz
3838
exit_status_tar=$?
3939
if [ $exit_status_tar -ne 0 ]; then
40-
echo "Error: Failed to extract Mongo 6.0.7 archive"
40+
echo "Error: Failed to extract Mongo 8.0.12 archive"
4141
exit $exit_status_tar
4242
fi
43-
sudo cp mongodb-macos-x86_64-6.0.7/bin/* /usr/local/bin/
43+
sudo cp mongodb-macos-x86_64-8.0.12/bin/* /usr/local/bin/
4444
rm -r mongodb-macos*
4545

4646
# Install openstudio -- Use the install script that is in this repo now, the one on OpenStudio/develop has changed
@@ -83,16 +83,14 @@ else
8383
ulimit -n 4096
8484
ulimit -a
8585

86-
elif [ "${ImageOS}" == "ubuntu22" ]; then
86+
elif [ "${ImageOS}" == "ubuntu24" ]; then
8787
echo "Setting up Ubuntu for unit tests and Rubocop"
8888
# install pipe viewer to throttle printing logs to screen (not a big deal in linux, but it is in osx)
8989
sudo apt-get update && sudo apt-get install -y wget gnupg software-properties-common build-essential
90-
#sudo wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
91-
#echo "deb http://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse | tee /etc/apt/sources.list.d/mongodb-org-6.0.list"
9290
# Import MongoDB public GPG key
93-
sudo wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | gpg --dearmor | sudo tee /usr/share/keyrings/mongodb-org-6.0-archive-keyring.gpg
91+
sudo wget -qO - https://www.mongodb.org/static/pgp/server-8.0.asc | gpg --dearmor | sudo tee /usr/share/keyrings/mongodb-org-8.0-archive-keyring.gpg
9492
# Add MongoDB to the sources list
95-
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-org-6.0-archive-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
93+
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-org-8.0-archive-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
9694

9795
sudo apt-get update
9896
sudo apt-get install -y pv tree mongodb-org libqdbm14 libxml2-dev
@@ -113,8 +111,9 @@ else
113111

114112
# install portable ruby - required for build that will eventually be published
115113
# see https://github.com/NREL/OpenStudio-PAT/wiki/Pat-Build-Notes
116-
curl -SLO --insecure https://openstudio-resources.s3.amazonaws.com/pat-dependencies3/ruby-3.2.2-linux.tar.gz
117-
tar xvzf ruby-3.2.2-linux.tar.gz
114+
#curl -SLO --insecure https://openstudio-resources.s3.amazonaws.com/pat-dependencies3/ruby-3.2.2-linux.tar.gz
115+
curl -SLO --insecure https://openstudio-resources.s3.us-east-1.amazonaws.com/pat-dependencies3/ruby-3.2.2-ubuntu24.04-x86_64.tar.gz
116+
tar xvzf ruby-3.2.2-ubuntu24.04-x86_64.tar.gz
118117
exit_status_tar=$?
119118
if [ $exit_status_tar -ne 0 ]; then
120119
echo "Error: Failed to extract Ruby 3.2.2 archive"
@@ -124,7 +123,7 @@ else
124123
sudo rm -rf /usr/local/ruby
125124
sudo mv ruby /usr/local/
126125
ldd /usr/local/ruby/bin/ruby
127-
rm ruby-3.2.2-linux.tar.gz
126+
rm ruby-3.2.2-ubuntu24.04-x86_64.tar.gz
128127

129128
mkdir -p reports/rspec
130129
sudo ./ci/github-actions/install_openstudio.sh $OPENSTUDIO_VERSION $OPENSTUDIO_VERSION_SHA $OPENSTUDIO_VERSION_EXT
@@ -145,6 +144,13 @@ else
145144
# test openssl
146145
ruby ${GITHUB_WORKSPACE}/ci/github-actions/verify_openstudio.rb
147146

147+
#DEBUG shared libraries in packaged ruby
148+
ruby -v
149+
echo "=== RBCONFIG SNAPSHOT ==="
150+
ruby -rrbconfig -e 'p RbConfig::CONFIG.values_at("ruby_version","arch","LIBRUBYARG_SHARED","LIBRUBYARG_STATIC","LIBRUBY_SO","LIBRUBY_A","libdir","rubylibdir","archdir")'
151+
echo "=== /usr/local/ruby/lib ==="
152+
ls -la /usr/local/ruby/lib || true
153+
148154
ruby "${GITHUB_WORKSPACE}/bin/openstudio_meta" install_gems --with_test_develop --debug --verbose --use_cached_gems
149155
bundle -v
150156
# create dir for output files which will be generated in case of failure

0 commit comments

Comments
 (0)