ENH: Add macOS ARM GitHub Actions configuration #7
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v4 | |
with: | |
python-version: '3.11' | |
- name: Install dependencies | |
run: | | |
set -x | |
python3 -m pip install ninja | |
python3 -m pip install --upgrade setuptools | |
python3 -m pip install scikit-ci-addons | |
python3 -m pip install lxml | |
- name: Download dashboard script and testing data | |
run: | | |
set -x | |
# git clone -b dashboard --single-branch https://github.com/InsightSoftwareConsortium/ITK.git ITK-dashboard | |
git clone -b gh-actions-dashboard --single-branch https://github.com/thewtex/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 | |
") | |
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 | |
- name: Format CTest output in JUnit format | |
if: always() | |
run: | | |
ci_addons ctest_junit_formatter ${{ github.workspace }}/build > ${{ github.workspace }}/JUnitTestResults.xml | |
cat '${{ github.workspace }}/JUnitTestResults.xml' | |
- name: Publish test results | |
uses: mikepenz/action-junit-report@v2 | |
if: always() | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
report_paths: '${{ github.workspace }}/JUnitTestResults.xml' |