name: ITK.macOS.Arm64 on: push: branches: - master - 'release*' paths-ignore: - '*.md' - LICENSE - NOTICE - 'Documentation/**' - 'Utilities/Debugger/**' - 'Utilities/ITKv5Preparation/**' - 'Utilities/Maintenance/**' pull_request: paths-ignore: - '*.md' - LICENSE - NOTICE - 'Documentation/**' - 'Utilities/Debugger/**' - 'Utilities/ITKv5Preparation/**' - 'Utilities/Maintenance/**' env: ExternalDataVersion: 5.3.0 jobs: macOS: runs-on: macos-14 timeout-minutes: 0 steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 5 clean: true - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies run: | set -x python3 -m pip install ninja - name: Download dashboard script and testing data run: | set -x git clone -b dashboard --single-branch https://github.com/InsightSoftwareConsortium/ITK.git ITK-dashboard curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${{ env.ExternalDataVersion }}/InsightData-${{ env.ExternalDataVersion }}.tar.gz -O cmake -E tar xfz InsightData-${{ env.ExternalDataVersion }}.tar.gz cmake -E rename InsightToolkit-${{ env.ExternalDataVersion }}/.ExternalData/MD5 ${{ github.workspace }}/.ExternalData/MD5 - name: Configure CTest script run: | cat > ITK-dashboard/dashboard.cmake << EOF set(CTEST_BUILD_CONFIGURATION "Release") set(CTEST_CMAKE_GENERATOR "Ninja") set(dashboard_cache " BUILD_SHARED_LIBS:BOOL=ON BUILD_EXAMPLES:BOOL=ON ITK_WRAP_PYTHON:BOOL=OFF ITK_USE_CLANG_FORMAT:BOOL=OFF ") include(${{ github.workspace }}/ITK-dashboard/github_actions_dashboard.cmake) EOF cat ITK-dashboard/dashboard.cmake - name: Build and test run: | set -x c++ --version cmake --version ctest -S ${{ github.workspace }}/ITK-dashboard/dashboard.cmake -VV -j 4 env: CTEST_OUTPUT_ON_FAILURE: 1 macOS-Python: runs-on: macos-14 timeout-minutes: 0 steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 5 clean: true - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies run: | set -x python3 -m pip install ninja python3 -m pip install numpy - name: Download dashboard script and testing data run: | set -x git clone -b dashboard --single-branch https://github.com/InsightSoftwareConsortium/ITK.git ITK-dashboard curl -L https://github.com/InsightSoftwareConsortium/ITK/releases/download/v${{ env.ExternalDataVersion }}/InsightData-${{ env.ExternalDataVersion }}.tar.gz -O cmake -E tar xfz InsightData-${{ env.ExternalDataVersion }}.tar.gz cmake -E rename InsightToolkit-${{ env.ExternalDataVersion }}/.ExternalData/MD5 ${{ github.workspace }}/.ExternalData/MD5 - name: Configure CTest script run: | cat > ITK-dashboard/dashboard.cmake << EOF set(CTEST_BUILD_CONFIGURATION "Release") set(CTEST_CMAKE_GENERATOR "Ninja") set(dashboard_cache " BUILD_SHARED_LIBS:BOOL=OFF BUILD_EXAMPLES:BOOL=OFF ITK_WRAP_PYTHON:BOOL=ON ITK_USE_CLANG_FORMAT:BOOL=OFF ") include(${{ github.workspace }}/ITK-dashboard/github_actions_dashboard.cmake) EOF cat ITK-dashboard/dashboard.cmake - name: Build and test run: | set -x c++ --version cmake --version ctest -S ${{ github.workspace }}/ITK-dashboard/dashboard.cmake -VV -j 4 env: CTEST_OUTPUT_ON_FAILURE: 1