Skip to content

Commit

Permalink
CI : Add macos-arm64 builds
Browse files Browse the repository at this point in the history
  • Loading branch information
murraystevenson committed Nov 13, 2024
1 parent b19ba54 commit ea3bf2e
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 12 deletions.
30 changes: 19 additions & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ jobs:
linux-gcc11,
linux-debug-gcc11,
windows,
windows-debug
windows-debug,
macos-arm64
]

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

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

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

- name: windows-debug
os: windows-2019
Expand All @@ -71,6 +75,16 @@ jobs:
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/8.0.1/gafferDependencies-8.0.1-windows.zip
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
publish: false
jobs: 4

- name: macos-arm64
os: macos-14
buildType: RELEASE
options: .github/workflows/main/options.posix
dependenciesURL: https://github.com/GafferHQ/dependencies/releases/download/9.0.0/gafferDependencies-9.0.0-macos-arm64.tar.gz
tests: testCore testCorePython testScene testImage testAlembic testUSD testVDB
publish: true
jobs: 3

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

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

- name: Install toolchain (MacOS)
# Prefer `pip install` because it is faster
# than `brew install`.
run: |
sudo pip3 install scons==4.0.1
# Brew installs all manner of headers into `/usr/local/include`, including
# OpenEXR and Imath versions that conflict with our own. We can't stop Clang
# finding them because Clang is hardcoded to look in `/usr/local/include`
# _before_ anything we specify with `-isystem`, despite documentation to the
# contrary. So we nuke the headers.
rm -rf /usr/local/include/*
# Choose a specific Xcode version in case the default changes on the macos-14 runner image.
sudo xcode-select -s /Applications/Xcode_15.4.0.app/Contents/Developer
sudo pip3 install scons==4.6.0 --break-system-packages
echo PACKAGE_COMMAND=tar -czf >> $GITHUB_ENV
echo PACKAGE_EXTENSION=tar.gz >> $GITHUB_ENV
if: runner.os == 'macOS'
Expand Down Expand Up @@ -154,7 +162,7 @@ jobs:
- name: Build
run: |
scons -j 4 BUILD_TYPE=${{ matrix.buildType }} OPTIONS=${{ matrix.options }} BUILD_CACHEDIR=sconsCache
scons -j ${{ matrix.jobs }} BUILD_TYPE=${{ matrix.buildType }} OPTIONS=${{ matrix.options }} BUILD_CACHEDIR=sconsCache
# Copy the config log for use in the "Debug Failures" step, because it
# gets clobbered by the `scons test*` call below.
cp config.log buildConfig.log
Expand Down
2 changes: 1 addition & 1 deletion test/IECoreScene/MeshPrimitive.py
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ def testBox( self ) :
self.assertEqual( len( m["N"].data ), 6 )
self.assertEqual( len( m["uv"].indices ), m.variableSize( IECoreScene.PrimitiveVariable.Interpolation.FaceVarying ) )


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

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

0 comments on commit ea3bf2e

Please sign in to comment.