Skip to content

Commit 0e96f14

Browse files
committed
[Build] Default to CY24 and drop support for CY22
Part of OpenAssetIO/OpenAssetIO#1351. Remove support for changing the libstdc++ ABI version, since that was only necessary to support CY22. The updated `openassetio-build` Docker image conforms to CY24. So update usages of other `aswf` images to also conform to CY24. Remove workarounds for GitHub NodeJS version 20 default causing glibc incompatibilities with CY22 based containers, now that the image has been updated to CY24. Signed-off-by: David Feltell <[email protected]>
1 parent 4e7ee8c commit 0e96f14

File tree

3 files changed

+4
-42
lines changed

3 files changed

+4
-42
lines changed

.github/dependabot.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,3 @@ updates:
77
interval: "weekly"
88
commit-message:
99
prefix: "[CI]"
10-
ignore:
11-
# TODO(DF): Remove once no longer stuck on ASWF CY22 Docker image
12-
# for CI (causing nodejs glibc error).
13-
- dependency-name: "actions/checkout"
14-
update-types: ["version-update:semver-major"]

.github/workflows/test.yml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,6 @@ name: Test
77
on:
88
pull_request:
99

10-
env:
11-
# Buy some more time to use the deprecated Node 16 (needed for GLIBC
12-
# version)
13-
# Upgrading to the CY23 Docker images will solve this longer term. See
14-
# https://github.com/OpenAssetIO/OpenAssetIO/issues/984#issuecomment-2210792734
15-
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
16-
1710
concurrency:
1811
group: ${{ github.workflow }}-${{ github.ref }}
1912
cancel-in-progress: true
@@ -43,7 +36,7 @@ jobs:
4336
name: Test (OpenAssetIO as package, MediaCreation as package)
4437
runs-on: ubuntu-latest
4538
container:
46-
image: aswf/ci-vfxall:2022-clang14.3
39+
image: aswf/ci-base:2024
4740
needs: [build-openassetio, build-openassetio-mediacreation]
4841
steps:
4942
- uses: actions/checkout@v3
@@ -109,7 +102,7 @@ jobs:
109102
name: Test (OpenAssetIO as package, MediaCreation as subproject)
110103
runs-on: ubuntu-latest
111104
container:
112-
image: aswf/ci-vfxall:2022-clang14.3
105+
image: aswf/ci-base:2024
113106
needs: [build-openassetio]
114107
steps:
115108
- uses: actions/checkout@v3

CMakeLists.txt

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,9 @@ option(OPENASSETIO_MEDIACREATIONTEST_ENABLE_SUBPROJECT
3131
option(OPENASSETIOTEST_ENABLE_PYTHON "Test Python bindings" ON)
3232
option(OPENASSETIOTEST_ENABLE_C "Test C bindings" ON)
3333

34-
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND
35-
CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0)
36-
option(OPENASSETIOTEST_GLIBCXX_USE_CXX11_ABI "For gcc, use the new C++11 library ABI" OFF)
37-
endif ()
38-
3934
if (CMAKE_TOOLCHAIN_FILE)
4035
message(STATUS "Using toolchain file = ${CMAKE_TOOLCHAIN_FILE}")
4136
endif ()
42-
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
43-
message(STATUS "New C++11 ABI for GCC = ${OPENASSETIOTEST_GLIBCXX_USE_CXX11_ABI}")
44-
endif ()
4537
message(STATUS "Testing OpenAssetIO as a subproject = ${OPENASSETIOTEST_ENABLE_OPENASSETIO_SUBPROJECT}")
4638
message(STATUS "Testing OpenAssetIO-MediaCreation as a subproject = "
4739
"${OPENASSETIOTEST_ENABLE_MEDIACREATION_SUBPROJECT}")
@@ -100,15 +92,6 @@ add_test(cpp.core test.cpp.core)
10092
target_link_libraries(test.cpp.core PRIVATE OpenAssetIO::openassetio-core)
10193
target_compile_features(test.cpp.core PRIVATE cxx_std_17)
10294

103-
# GCC's C++11 ABI toggle must match OpenAssetIO's settings.
104-
if (DEFINED OPENASSETIOTEST_GLIBCXX_USE_CXX11_ABI)
105-
if (OPENASSETIOTEST_GLIBCXX_USE_CXX11_ABI)
106-
target_compile_definitions(test.cpp.core PRIVATE _GLIBCXX_USE_CXX11_ABI=1)
107-
else ()
108-
target_compile_definitions(test.cpp.core PRIVATE _GLIBCXX_USE_CXX11_ABI=0)
109-
endif ()
110-
endif ()
111-
11295
if (WIN32 AND DEFINED OpenAssetIO_BINARY_DIR)
11396
set_tests_properties(cpp.core PROPERTIES ENVIRONMENT "PATH=${OpenAssetIO_BINARY_DIR_NATIVE}")
11497
endif ()
@@ -121,15 +104,6 @@ add_test(cpp.mediacreation test.cpp.mediacreation)
121104
target_link_libraries(test.cpp.mediacreation PRIVATE OpenAssetIO::openassetio-core OpenAssetIO-MediaCreation::openassetio-mediacreation)
122105
target_compile_features(test.cpp.mediacreation PRIVATE cxx_std_17)
123106

124-
# GCC's C++11 ABI toggle must match OpenAssetIO's settings.
125-
if (DEFINED OPENASSETIOTEST_GLIBCXX_USE_CXX11_ABI)
126-
if (OPENASSETIOTEST_GLIBCXX_USE_CXX11_ABI)
127-
target_compile_definitions(test.cpp.mediacreation PRIVATE _GLIBCXX_USE_CXX11_ABI=1)
128-
else ()
129-
target_compile_definitions(test.cpp.mediacreation PRIVATE _GLIBCXX_USE_CXX11_ABI=0)
130-
endif ()
131-
endif ()
132-
133107
if (WIN32 AND DEFINED OpenAssetIO_BINARY_DIR)
134108
set_tests_properties(cpp.mediacreation PROPERTIES ENVIRONMENT "PATH=${OpenAssetIO_BINARY_DIR_NATIVE}")
135109
endif ()
@@ -225,9 +199,9 @@ if (OPENASSETIOTEST_ENABLE_PYTHON)
225199
# Fix library search path on MacOS.
226200
if (APPLE)
227201
# The `Python::Python` target's link options are set to e.g
228-
# `@rpath/Python.framework/Versions/3.9/Python` but all our
202+
# `@rpath/Python.framework/Versions/3.10/Python` but all our
229203
# target's (CMake generated) @rpaths already contain
230-
# `Python.framework/Versions/3.9`. So add another RPATH with
204+
# `Python.framework/Versions/3.10`. So add another RPATH with
231205
# the framework subdirectories stripped. This then allows our
232206
# test target to find the Python library.
233207
set_target_properties(test.python.bridge PROPERTIES BUILD_RPATH ${Python_PREFIX}/../../..)

0 commit comments

Comments
 (0)