Skip to content

Commit 22f2970

Browse files
authored
Update to MacOS 15 runners (#846) and update to OpenStudio 3.11.0
* Update to macos-15 GitHub runners, remove self hosted mac runner * Update to OS 3.11.0 release, will merge to develop after this change
1 parent f2d192e commit 22f2970

6 files changed

Lines changed: 48 additions & 34 deletions

File tree

.github/workflows/app_build.yml

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
# fail-fast: Default is true, switch to false to allow one platform to fail and still run others
3333
fail-fast: false
3434
matrix:
35-
os: [ubuntu-22.04, ubuntu-24.04, windows-2022, macos-13, macos-arm64]
35+
os: [ubuntu-22.04, ubuntu-24.04, windows-2022, macos-15-intel, macos-15]
3636
include:
3737
- os: ubuntu-22.04
3838
SELF_HOSTED: false
@@ -64,29 +64,29 @@ jobs:
6464
QT_OS_NAME: windows
6565
QT_ARCH: win64_msvc2019_64
6666
arch: x86_64
67-
- os: macos-13
67+
- os: macos-15-intel
6868
SELF_HOSTED: false
6969
PLATFORM_NAME: Darwin
7070
BINARY_EXT: dmg
7171
COMPRESSED_EXT: tar.gz
7272
BINARY_PKG_PATH: _CPack_Packages/Darwin/IFW
7373
COMPRESSED_PKG_PATH: _CPack_Packages/Darwin/TGZ
7474
MACOSX_DEPLOYMENT_TARGET: 13.0
75-
SDKROOT: /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
75+
SDKROOT: /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
7676
QT_OS_NAME: mac
7777
QT_ARCH: clang_64
7878
arch: x86_64
79-
- os: macos-arm64
80-
SELF_HOSTED: true
79+
- os: macos-15
80+
SELF_HOSTED: false
8181
PLATFORM_NAME: Darwin
8282
BINARY_EXT: dmg
8383
COMPRESSED_EXT: tar.gz
8484
BINARY_PKG_PATH: _CPack_Packages/Darwin/IFW
8585
COMPRESSED_PKG_PATH: _CPack_Packages/Darwin/TGZ
8686
MACOSX_DEPLOYMENT_TARGET: 13.0
87-
SDKROOT: /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
87+
SDKROOT: /Applications/Xcode_16.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
8888
QT_OS_NAME: mac
89-
QT_ARCH: arm_64
89+
QT_ARCH: clang_64
9090
arch: arm64
9191

9292
steps:
@@ -184,10 +184,10 @@ jobs:
184184
echo "/Users/irvinemac/Qt/Tools/QtInstallerFramework/4.3/bin/" >> $GITHUB_PATH
185185
else
186186
echo "Setting Xcode version"
187-
sudo xcode-select -s "/Applications/Xcode_15.2.app/Contents/Developer/"
187+
sudo xcode-select -s "/Applications/Xcode_16.4.app/Contents/Developer/"
188188
189189
echo "Using brew to install ninja"
190-
brew install ninja md5sha1sum ccache
190+
brew install md5sha1sum ccache
191191
192192
ccache --set-config=cache_dir=$CCACHE_DIR
193193
ccache --set-config=max_size=500M
@@ -196,9 +196,12 @@ jobs:
196196
197197
# The openssl@3 package installed on CI adds these files to the pkgconfig directory
198198
# Remove them here so they aren't found instead of the version of OpenSSL built by Conan
199-
rm /usr/local/lib/pkgconfig/libcrypto.pc
200-
rm /usr/local/lib/pkgconfig/libssl.pc
201-
rm /usr/local/lib/pkgconfig/openssl.pc
199+
if [ -d /usr/local/lib/pkgconfig/ ]; then
200+
ls -alsh /usr/local/lib/pkgconfig/
201+
rm -f /usr/local/lib/pkgconfig/libcrypto.pc
202+
rm -f /usr/local/lib/pkgconfig/libssl.pc
203+
rm -f /usr/local/lib/pkgconfig/openssl.pc
204+
fi;
202205
fi;
203206
fi;
204207
@@ -235,8 +238,8 @@ jobs:
235238
brew list aria2 || brew install aria2
236239
aria2c https://www.apple.com/certificateauthority/AppleWWDRCAG2.cer
237240
aria2c https://www.apple.com/certificateauthority/DeveloperIDG2CA.cer
238-
security import AppleWWDRCAG2.cer -k $KEYCHAIN_PATH
239-
security import DeveloperIDG2CA.cer -k $KEYCHAIN_PATH
241+
security import AppleWWDRCAG2.cer -k $KEYCHAIN_PATH || true
242+
security import DeveloperIDG2CA.cer -k $KEYCHAIN_PATH || true
240243
security find-identity -vvvv $KEYCHAIN_PATH
241244
security find-identity -v -p codesigning
242245
@@ -430,6 +433,8 @@ jobs:
430433
pip show setuptools || true
431434
pip install setuptools --upgrade
432435
pip3 install aqtinstall
436+
aqt list-qt mac desktop --arch 6.5.2
437+
aqt list-qt mac desktop --modules 6.5.2 ${{ matrix.QT_ARCH }}
433438
aqt install-qt --outputdir ./build/Qt-install/ ${{ matrix.QT_OS_NAME }} desktop $QT_VERSION ${{ matrix.QT_ARCH }} -m qtwebchannel qtwebengine qtwebview qt5compat qtpositioning qtcharts
434439
fi
435440
@@ -698,17 +703,16 @@ jobs:
698703
# fail-fast: Default is true, switch to false to allow one platform to fail and still run others
699704
fail-fast: false
700705
matrix:
701-
os: [macos-13, macos-14]
706+
os: [macos-15-intel, macos-15]
702707
include:
703-
- os: macos-13
704-
binary_os: macos-13
708+
- os: macos-15-intel
709+
binary_os: macos-15-intel
705710
SELF_HOSTED: false
706711
BINARY_EXT: dmg
707712
COMPRESSED_EXT: tar.gz
708713
arch: x86_64
709-
# This is the GHA hosted one
710-
- os: macos-14
711-
binary_os: macos-arm64
714+
- os: macos-15
715+
binary_os: macos-15
712716
SELF_HOSTED: false
713717
BINARY_EXT: dmg
714718
COMPRESSED_EXT: tar.gz

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ endif()
272272

273273
# TODO: Modify the more specific variables as needed to indicate prerelease, etc
274274
# Keep in beta in-between release cycles. Set to empty string (or comment out) for official)
275-
set(PROJECT_VERSION_PRERELEASE "alpha")
275+
set(PROJECT_VERSION_PRERELEASE "rc1")
276276

277277
# OpenStudio version: Only include Major.Minor.Patch, eg "3.0.0", even if you have a prerelease tag
278278
set(OPENSTUDIOAPPLICATION_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")

FindOpenStudioSDK.cmake

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ set(OPENSTUDIO_VERSION_PATCH 0)
44
set(OPENSTUDIO_VERSION "${OPENSTUDIO_VERSION_MAJOR}.${OPENSTUDIO_VERSION_MINOR}.${OPENSTUDIO_VERSION_PATCH}")
55

66
#If this is an official release, leave this "", otherwise put for eg '-rc1'
7-
set(OPENSTUDIO_VERSION_PRERELEASE "-rc1")
7+
set(OPENSTUDIO_VERSION_PRERELEASE "")
88
# Enter SHA, always, eg "+79857912c4"
9-
set(OPENSTUDIO_VERSION_SHA "+dee62bf9dd")
9+
set(OPENSTUDIO_VERSION_SHA "+241b8abb4d")
1010

1111
# Paths where the cmake-downloaded archives will be put
1212
set(OPENSTUDIO_ARCHIVE_DIR "${PROJECT_BINARY_DIR}/OpenStudio-${OPENSTUDIO_VERSION}")
@@ -17,37 +17,37 @@ set(OPENSTUDIO_EXT "tar.gz")
1717
if(APPLE)
1818
set(OPENSTUDIO_PLATFORM "Darwin-${ARCH}")
1919
if(ARCH MATCHES "arm64")
20-
set(OPENSTUDIO_EXPECTED_HASH 389a02d7f9d3526454bca74393ac7a6e)
20+
set(OPENSTUDIO_EXPECTED_HASH 92145ffe9f13c8fee1df48a0f781e280)
2121
else()
22-
set(OPENSTUDIO_EXPECTED_HASH TODO_MISSING_TODO) # There is no mac intel (x86_64) installer
22+
set(OPENSTUDIO_EXPECTED_HASH 001c938919ef5cbbeed4b3e2411d9796)
2323
endif()
2424

2525
elseif(UNIX)
2626
set(OPENSTUDIO_PLATFORM "${LSB_RELEASE_ID_SHORT}-${LSB_RELEASE_VERSION_SHORT}-${ARCH}")
2727
if(LSB_RELEASE_VERSION_SHORT MATCHES "24.04")
2828
#set(OPENSTUDIO_PLATFORM "${LSB_RELEASE_ID_SHORT}-22.04-${ARCH}")
2929
if (ARCH MATCHES "arm64")
30-
set(OPENSTUDIO_EXPECTED_HASH 2c0dc0cac19f2a09b3cb89a1c1bc52d7)
30+
set(OPENSTUDIO_EXPECTED_HASH 628d58dddf83034866ec38c2ff522736)
3131
else()
32-
set(OPENSTUDIO_EXPECTED_HASH b822fa5d6f51d67dc11b8b0abf363c4c)
32+
set(OPENSTUDIO_EXPECTED_HASH e761fe3678fd906a50e16a54dab10cd1)
3333
endif()
3434
elseif(LSB_RELEASE_VERSION_SHORT MATCHES "22.04")
3535
if (ARCH MATCHES "arm64")
36-
set(OPENSTUDIO_EXPECTED_HASH 1df158161213c1dd7562d489c8576c94)
36+
set(OPENSTUDIO_EXPECTED_HASH 361b01db5caf7086e6730b3b0063f104)
3737
else()
38-
set(OPENSTUDIO_EXPECTED_HASH 2aed3184c33125b196ec833a1def9483)
38+
set(OPENSTUDIO_EXPECTED_HASH 7d4071fe910e5297b66f66ee74754fa6)
3939
endif()
4040
elseif(LSB_RELEASE_ID_SHORT MATCHES "AlmaLinux")
4141
if (ARCH MATCHES "arm64")
4242
message(FATAL_ERROR "OpenStudio SDK for AlmaLinux is only built for x86_64")
4343
endif()
44-
set(OPENSTUDIO_EXPECTED_HASH 0ed8089fd49054fe237c77070d492502)
44+
set(OPENSTUDIO_EXPECTED_HASH a578519e4c7537a7ad730006f1ffeb79)
4545
else()
4646
message(FATAL_ERROR "OpenStudio SDK no longer provides packages for Ubuntu 20.04 or older")
4747
endif()
4848

4949
elseif(WIN32)
50-
set(OPENSTUDIO_EXPECTED_HASH 85d4677a325285549a850a872e86ffb6)
50+
set(OPENSTUDIO_EXPECTED_HASH eb366f8a64a20977bb5976ebdcccf513)
5151
set(OPENSTUDIO_PLATFORM "Windows")
5252
endif()
5353

conan.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"zlib/1.3.1#af8f2ef3d8e0fddf1975281d7fe43bf6%1705999193.687",
55
"websocketpp/0.8.2#842a0419153a8aa52f3ea3a1da557d38%1695972005.713",
66
"tinygltf/2.5.0#65c28d0a4c3cbd4ef92b08b59df769da%1701621757.442",
7-
"termcap/1.3.1#1986f84bf21dd07ea774b027a3201fcb%1678542508.75",
7+
"termcap/1.3.1#479400c750a869f77b3d2d3a82e06f7d%1755703795.492",
88
"swig/4.1.1#2bb5c79321cbb05bcab525c690d9bf74%1707838669.551",
99
"stb/cci.20230920#9792498b81cf34a90138d239e36b0bf8%1700546289.605",
1010
"sqlite3/3.38.5#4b875d4249cdfb4c1235e6b3ea6c18e7%1676251415.466",

conanfile.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ def requirements(self):
4343
self.requires("geographiclib/1.52") # 76536a9315a003ef3511919310b2fe37
4444
self.requires("swig/4.1.1") # Pending https://github.com/conan-io/conan-center-index/pull/19058
4545
self.requires("tinygltf/2.5.0") # c8b2aca9505e86312bb42aa0e1c639ec
46+
self.requires("termcap/1.3.1#479400c750a869f77b3d2d3a82e06f7d") # need version with updated minimum cmake
4647
# self.requires("cli11/2.3.2") # 8ccdf14fb1ad53532d498c16ae580b4b
4748

4849
self.requires(

src/openstudio_app/CMakeLists.txt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -444,9 +444,14 @@ if( APPLE )
444444
# TODO: We can also just symlink libopenstudio.lib into the OpenStudioApp.app/Contents/Frameworks directory instead of copying
445445

446446
install(CODE [[
447+
# print the CMAKE_INSTALL_PREFIX for debugging, use separate `execute_process` to avoid broken pipes between commands
447448
execute_process(
448-
COMMAND echo "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}"
449+
COMMAND "${CMAKE_COMMAND}" -E echo "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}"
449450
451+
COMMAND_ECHO STDOUT
452+
)
453+
454+
execute_process(
450455
COMMAND "${CMAKE_COMMAND}" -E create_symlink
451456
"../../../../../../../Frameworks"
452457
"${CMAKE_INSTALL_PREFIX}/OpenStudioApp.app/Contents/Frameworks/QtWebEngineCore.framework/Versions/A/Helpers/QtWebEngineProcess.app/Contents/Frameworks"
@@ -471,13 +476,17 @@ if( APPLE )
471476
"../../../lib/$<TARGET_FILE_NAME:openstudio::openstudiolib>"
472477
"${CMAKE_INSTALL_PREFIX}/OpenStudioApp.app/Contents/Frameworks/$<TARGET_FILE_NAME:openstudio::openstudiolib>"
473478
479+
COMMAND "${CMAKE_COMMAND}" -E create_symlink
480+
"../lib/$<TARGET_FILE_NAME:openstudio::openstudiolib>"
481+
"${CMAKE_INSTALL_PREFIX}/Ruby/$<TARGET_FILE_NAME:openstudio::openstudiolib>"
482+
474483
COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_INSTALL_PREFIX}/bin"
475484
476485
COMMAND_ECHO STDOUT
477486
COMMAND_ERROR_IS_FATAL ANY
478487
)
479488
480-
# We break it into two `execute_process`es so that there is no race condition between the make_directory above and the create_symlink below
489+
# separate `execute_process`es so that there is no race condition between the make_directory above and the create_symlink below
481490
execute_process(
482491
COMMAND "${CMAKE_COMMAND}" -E create_symlink
483492
"../OpenStudioApp.app/Contents/MacOS/$<TARGET_FILE_NAME:openstudio::openstudio>"

0 commit comments

Comments
 (0)