@@ -25,18 +25,22 @@ jobs:
25
25
# fail-fast: Default is true, switch to false to allow one platform to fail and still run others
26
26
fail-fast : false
27
27
matrix :
28
- name : [Ubuntu, macOS, macOS_arm64, Windows_py37, Windows_py38, Windows_py39, Windows_py310, Windows_py311, Windows_py312, Windows_py313]
28
+ name : [Ubuntu, Ubuntu_arm64, macOS, macOS_arm64, Windows_py37, Windows_py38, Windows_py39, Windows_py310, Windows_py311, Windows_py312, Windows_py313]
29
29
include :
30
30
- name : Ubuntu
31
31
os : ubuntu-22.04
32
32
python-version : 3.8
33
33
allow_failure : false
34
+ - name : Ubuntu_arm64
35
+ os : ubuntu-22.04-arm
36
+ python-version : 3.8
37
+ allow_failure : true
34
38
- name : macOS
35
- os : macos-12
39
+ os : macos-13
36
40
python-version : 3.8
37
41
allow_failure : false
38
42
MACOSX_DEPLOYMENT_TARGET : 10.15
39
- SDKROOT : /Applications/Xcode_13.2.1 .app
43
+ SDKROOT : /Applications/Xcode_15.2 .app
40
44
- name : macOS_arm64
41
45
os : macos-14
42
46
python-version : 3.8
69
73
allow_failure : false
70
74
- name : Windows_py313
71
75
os : windows-2019
72
- python-version : ' 3.13'
76
+ python-version : ' 3.13.5 '
73
77
allow_failure : true # Possible this fails, don't care yet
74
78
75
79
steps :
@@ -283,13 +287,24 @@ jobs:
283
287
if [ "${{ matrix.name }}" == "macOS_arm64" ]; then
284
288
PYTHON_ARCH=arm64
285
289
# Avoid "builtin __has_nothrow_assign is deprecated; use __is_nothrow_assignable instead" in boost/1.79 with recent clang
286
- conan install . --output-folder=./build --build=missing -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=Release -o with_testing=False -o with_benchmark=False -c tools.build:cxxflags="['-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION -Wno-enum-constexpr-conversion']"
290
+ conan install . --output-folder=./build --build=missing \
291
+ -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=Release \
292
+ -o with_testing=False -o with_benchmark=False -o with_ruby=False \
293
+ -c tools.build:cxxflags="['-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION -Wno-enum-constexpr-conversion']"
287
294
else
288
- conan install . --output-folder=./build --build=missing -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=Release -o with_testing=False -o with_benchmark=False -c tools.build:cxxflags="['-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION']"
295
+ conan install . --output-folder=./build --build=missing \
296
+ -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=Release \
297
+ -o with_testing=False -o with_benchmark=False -o with_ruby=False \
298
+ -c tools.build:cxxflags="['-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION']"
289
299
fi
290
300
else
301
+ if [ "${{ matrix.name }}" == "Ubuntu_arm64" ]; then
302
+ PYTHON_ARCH=arm64
303
+ fi
291
304
PYTHON_VERSION=${{ steps.setup-python.outputs.python-version }}
292
- conan install . --output-folder=./build --build=missing -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=Release -o with_testing=False -o with_benchmark=False
305
+ conan install . --output-folder=./build --build=missing \
306
+ -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.cppstd=20 -s build_type=Release \
307
+ -o with_testing=False -o with_benchmark=False -o with_ruby=False
293
308
fi
294
309
echo -e "::endgroup::"
295
310
@@ -302,7 +317,15 @@ jobs:
302
317
echo -e "::endgroup::"
303
318
304
319
begin_group "Build"
305
- cmake --build --preset conan-release
320
+ if [ "${{ matrix.name }}" == "Ubuntu_arm64" ]; then
321
+ echo "Ubuntu_arm64 is apparently running out of memory/CPU during the build as of 2025-06-18, so work around it"
322
+ N=$(nproc)
323
+ cmake --build --preset conan-release --target openstudiolib -j $N
324
+ cmake --build --preset conan-release --target python_sdk -j $(($N - 2))
325
+ cmake --build --preset conan-release -j $(($N - 2))
326
+ else
327
+ cmake --build --preset conan-release
328
+ fi
306
329
echo -e "::endgroup::"
307
330
308
331
@@ -385,14 +408,18 @@ jobs:
385
408
# fail-fast: Default is true, switch to false to allow one platform to fail and still run others
386
409
fail-fast : false
387
410
matrix :
388
- name : [Ubuntu, macOS, macOS_arm64, Windows_py37, Windows_py38, Windows_py39, Windows_py310, Windows_py311, Windows_py312, Windows_py313]
411
+ name : [Ubuntu, Ubuntu_arm64, macOS, macOS_arm64, Windows_py37, Windows_py38, Windows_py39, Windows_py310, Windows_py311, Windows_py312, Windows_py313]
389
412
include :
390
413
- name : Ubuntu
391
414
os : ubuntu-22.04
392
415
python-version : 3.11 # Voluntarily using a newer version than built with for Unix
393
416
allow_failure : false
417
+ - name : Ubuntu_arm64
418
+ os : ubuntu-22.04-arm
419
+ python-version : 3.12
420
+ allow_failure : true
394
421
- name : macOS
395
- os : macos-12
422
+ os : macos-13
396
423
python-version : 3.11
397
424
allow_failure : false
398
425
- name : macOS_arm64
0 commit comments