Skip to content

Commit ea3bf2e

Browse files
CI : Add macos-arm64 builds
1 parent b19ba54 commit ea3bf2e

File tree

2 files changed

+20
-12
lines changed

2 files changed

+20
-12
lines changed

.github/workflows/main.yml

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ jobs:
3333
linux-gcc11,
3434
linux-debug-gcc11,
3535
windows,
36-
windows-debug
36+
windows-debug,
37+
macos-arm64
3738
]
3839

3940
include:
@@ -46,6 +47,7 @@ jobs:
4647
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/8.0.1/gafferDependencies-8.0.1-linux-gcc11.tar.gz
4748
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
4849
publish: true
50+
jobs: 4
4951

5052
- name: linux-debug-gcc11
5153
os: ubuntu-20.04
@@ -55,6 +57,7 @@ jobs:
5557
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/8.0.1/gafferDependencies-8.0.1-linux-gcc11.tar.gz
5658
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
5759
publish: false
60+
jobs: 4
5861

5962
- name: windows
6063
os: windows-2019
@@ -63,6 +66,7 @@ jobs:
6366
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/8.0.1/gafferDependencies-8.0.1-windows.zip
6467
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
6568
publish: true
69+
jobs: 4
6670

6771
- name: windows-debug
6872
os: windows-2019
@@ -71,6 +75,16 @@ jobs:
7175
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/8.0.1/gafferDependencies-8.0.1-windows.zip
7276
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
7377
publish: false
78+
jobs: 4
79+
80+
- name: macos-arm64
81+
os: macos-14
82+
buildType: RELEASE
83+
options: .github/workflows/main/options.posix
84+
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/9.0.0/gafferDependencies-9.0.0-macos-arm64.tar.gz
85+
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
86+
publish: true
87+
jobs: 3
7488

7589
runs-on: ${{ matrix.os }}
7690

@@ -92,16 +106,10 @@ jobs:
92106
if: runner.os == 'Windows'
93107

94108
- name: Install toolchain (MacOS)
95-
# Prefer `pip install` because it is faster
96-
# than `brew install`.
97109
run: |
98-
sudo pip3 install scons==4.0.1
99-
# Brew installs all manner of headers into `/usr/local/include`, including
100-
# OpenEXR and Imath versions that conflict with our own. We can't stop Clang
101-
# finding them because Clang is hardcoded to look in `/usr/local/include`
102-
# _before_ anything we specify with `-isystem`, despite documentation to the
103-
# contrary. So we nuke the headers.
104-
rm -rf /usr/local/include/*
110+
# Choose a specific Xcode version in case the default changes on the macos-14 runner image.
111+
sudo xcode-select -s /Applications/Xcode_15.4.0.app/Contents/Developer
112+
sudo pip3 install scons==4.6.0 --break-system-packages
105113
echo PACKAGE_COMMAND=tar -czf >> $GITHUB_ENV
106114
echo PACKAGE_EXTENSION=tar.gz >> $GITHUB_ENV
107115
if: runner.os == 'macOS'
@@ -154,7 +162,7 @@ jobs:
154162
155163
- name: Build
156164
run: |
157-
scons -j 4 BUILD_TYPE=${{ matrix.buildType }} OPTIONS=${{ matrix.options }} BUILD_CACHEDIR=sconsCache
165+
scons -j ${{ matrix.jobs }} BUILD_TYPE=${{ matrix.buildType }} OPTIONS=${{ matrix.options }} BUILD_CACHEDIR=sconsCache
158166
# Copy the config log for use in the "Debug Failures" step, because it
159167
# gets clobbered by the `scons test*` call below.
160168
cp config.log buildConfig.log

test/IECoreScene/MeshPrimitive.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ def testBox( self ) :
266266
self.assertEqual( len( m["N"].data ), 6 )
267267
self.assertEqual( len( m["uv"].indices ), m.variableSize( IECoreScene.PrimitiveVariable.Interpolation.FaceVarying ) )
268268

269-
269+
@unittest.skipIf( IECore.TestUtil.inMacCI(), "Incorrect results on virtualized macOS used in CI" )
270270
def testPlane( self ) :
271271

272272
m = IECoreScene.MeshPrimitive.createPlane( imath.Box2f( imath.V2f( 0 ), imath.V2f( 1 ) ) )

0 commit comments

Comments
 (0)