name: CI macOS on: push: branches: - "**" paths-ignore: - "**/website/**" pull_request: branches: - "**" paths-ignore: - "**/website/**" workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: momentum: # Disabled: C++ testing moved to Ubuntu (cheaper). if: false name: cpp-${{ matrix.mode == '' && 'opt' || 'dev' }}-${{ matrix.os == 'macos-latest-large' && 'mac-x86_64' || 'mac-arm64' }} runs-on: ${{ matrix.os }} strategy: fail-fast: true matrix: os: [macos-latest] mode: [""] env: # Enable ccache for C++ compilation caching CMAKE_C_COMPILER_LAUNCHER: ccache CMAKE_CXX_COMPILER_LAUNCHER: ccache steps: - name: Checkout uses: actions/checkout@v6 - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: key: ${{ github.workflow }}-${{ matrix.os }}-${{ matrix.mode }} - name: Install FBX SDK run: | curl -O https://damassets.autodesk.net/content/dam/autodesk/www/files/fbx202037_fbxsdk_clang_mac.pkg.tgz tar -xvf fbx202037_fbxsdk_clang_mac.pkg.tgz sudo installer -pkg fbx202037_fbxsdk_clang_macos.pkg -target / - name: Set up pixi uses: prefix-dev/setup-pixi@v0.9.4 with: cache: true cache-write: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - name: Build and test Momentum run: | MOMENTUM_BUILD_WITH_FBXSDK=ON \ pixi run test${{ matrix.mode }} - name: Install Momentum and Build hello_world run: | pixi run install pixi run cmake \ -S momentum/examples/hello_world \ -B momentum/examples/hello_world/build \ -DCMAKE_BUILD_TYPE=Release pixi run cmake --build momentum/examples/hello_world/build - name: Print ccache stats run: ccache -s pymomentum: name: py-${{ matrix.os == 'macos-latest-large' && 'mac-x86_64' || 'mac-arm64' }} runs-on: ${{ matrix.os }} strategy: fail-fast: true matrix: os: [macos-latest] env: # Enable ccache for C++ compilation caching CMAKE_C_COMPILER_LAUNCHER: ccache CMAKE_CXX_COMPILER_LAUNCHER: ccache steps: - name: Checkout uses: actions/checkout@v6 - name: Set up ccache uses: hendrikmuhs/ccache-action@v1.2 with: key: ${{ github.workflow }}-${{ matrix.os }}-pymomentum - name: Install FBX SDK run: | curl -O https://damassets.autodesk.net/content/dam/autodesk/www/files/fbx202037_fbxsdk_clang_mac.pkg.tgz tar -xvf fbx202037_fbxsdk_clang_mac.pkg.tgz sudo installer -pkg fbx202037_fbxsdk_clang_macos.pkg -target / - name: Set up pixi uses: prefix-dev/setup-pixi@v0.9.3 with: cache: true cache-write: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} - name: Build and test PyMomentum run: | MOMENTUM_BUILD_WITH_FBXSDK=ON \ pixi run test_py - name: Build Python API Doc run: | MOMENTUM_BUILD_WITH_FBXSDK=ON \ pixi run doc_py - name: Print ccache stats run: ccache -s