Skip to content

Make character tests deterministic with seeded RNG (#1558) #10863

Make character tests deterministic with seeded RNG (#1558)

Make character tests deterministic with seeded RNG (#1558) #10863

Workflow file for this run

name: CI macOS
on:
push:
branches:
- main
paths-ignore:
- "**/website/**"
pull_request:
branches:
- "**"
paths-ignore:
- "**/website/**"
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
momentum:
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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up ccache
uses: hendrikmuhs/ccache-action@d62db5f07c26379fc4b4e0916f098a92573c3b03 # v1.2.23
with:
key: ${{ github.workflow }}-${{ matrix.os }}-${{ matrix.mode == '' && 'opt' || 'dev' }}
# ccache-action appends a timestamp when saving; restore keys are the timestamp-free prefixes.
restore-keys: |
${{ github.workflow }}-${{ matrix.os }}-${{ matrix.mode == '' && 'opt' || 'dev' }}
max-size: 2G
- 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@a09b6247153796b190642a2b53fac4241043cf6f # v0.9.5
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_no_build
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:
# Disabled: Python testing moved to Ubuntu (cheaper). macOS Python coverage in nightly.
if: false
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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Set up ccache
uses: hendrikmuhs/ccache-action@d62db5f07c26379fc4b4e0916f098a92573c3b03 # v1.2.23
with:
key: ${{ github.workflow }}-${{ matrix.os }}-pymomentum
# ccache-action appends a timestamp when saving; restore keys are the timestamp-free prefixes.
restore-keys: |
${{ github.workflow }}-${{ matrix.os }}-pymomentum
max-size: 2G
- 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@a09b6247153796b190642a2b53fac4241043cf6f # v0.9.5
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_no_build
- name: Print ccache stats
run: ccache -s