Skip to content

Merge pull request #6017 from hjmjohnson/fix-voronoi-infinite-loop #837

Merge pull request #6017 from hjmjohnson/fix-voronoi-infinite-loop

Merge pull request #6017 from hjmjohnson/fix-voronoi-infinite-loop #837

Workflow file for this run

name: ITK.Arm64
on:
push:
branches:
- main
- 'release*'
paths-ignore:
- '*.md'
- LICENSE
- NOTICE
- 'Documentation/**'
- 'Utilities/Debugger/**'
- 'Utilities/ITKv5Preparation/**'
- 'Utilities/Maintenance/**'
- 'Modules/Remote/*.remote.cmake'
pull_request:
paths-ignore:
- '*.md'
- LICENSE
- NOTICE
- 'Documentation/**'
- 'Utilities/Debugger/**'
- 'Utilities/ITKv5Preparation/**'
- 'Utilities/Maintenance/**'
- 'Modules/Remote/*.remote.cmake'
concurrency:
group: '${{ github.workflow }}@${{ github.head_ref || github.ref }}'
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env:
ExternalDataVersion: 5.4.5
CMakeVersion: "4.0.1"
jobs:
build:
runs-on: ${{ matrix.os }}
timeout-minutes: 600
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-24.04-arm
name: "Ubuntu-24.04-arm"
cmake-build-type: "Release"
cmake-generator: "Ninja"
python-version: ""
parallel-level: 4
ctest-cache: |
BUILD_SHARED_LIBS:BOOL=OFF
BUILD_EXAMPLES:BOOL=OFF
ITK_WRAP_PYTHON:BOOL=OFF
ITK_USE_CLANG_FORMAT:BOOL=OFF
ITK_COMPUTER_MEMORY_SIZE:STRING=11
ctest-options: ""
- os: macos-15
name: "x86_64-rosetta"
cmake-build-type: "Release"
cmake-generator: "Ninja"
python-version: ""
parallel-level: 3
ctest-cache: |
BUILD_SHARED_LIBS:BOOL=OFF
BUILD_EXAMPLES:BOOL=OFF
ITK_WRAP_PYTHON:BOOL=OFF
ITK_USE_CLANG_FORMAT:BOOL=OFF
CMAKE_OSX_ARCHITECTURES:STRING=x86_64
ITK_COMPUTER_MEMORY_SIZE:STRING=11
ctest-options: ""
- os: macos-15
name: "Python"
cmake-build-type: "Release"
cmake-generator: "Ninja"
python-version: "3.11"
parallel-level: 3
ctest-cache: |
BUILD_SHARED_LIBS:BOOL=OFF
BUILD_EXAMPLES:BOOL=OFF
ITK_WRAP_PYTHON:BOOL=ON
ITK_USE_CLANG_FORMAT:BOOL=OFF
ITK_COMPUTER_MEMORY_SIZE:STRING=11
ctest-options: "-E itkPyBufferMemoryLeakTest"
name: ARMBUILD-${{ matrix.name }}
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 5
clean: true
- name: Install ccache
shell: bash
run: |
echo "CCACHE_BASEDIR=${GITHUB_WORKSPACE}" >> "$GITHUB_ENV"
echo "CCACHE_COMPILERCHECK=content" >> "$GITHUB_ENV"
echo "CCACHE_NOHASHDIR=true" >> "$GITHUB_ENV"
echo "CCACHE_SLOPPINESS=pch_defines,time_macros" >> "$GITHUB_ENV"
echo "CCACHE_DIR=${{ runner.temp }}/ccache" >> "$GITHUB_ENV"
echo "CCACHE_MAXSIZE=5G" >> "$GITHUB_ENV"
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt-get update -qq && sudo apt-get install -y ccache locales
sudo locale-gen de_DE.UTF-8
elif [ "$RUNNER_OS" == "macOS" ]; then
brew install ccache
fi
- name: Restore compiler cache
id: restore-ccache
uses: actions/cache/restore@v5
with:
path: ${{ runner.temp }}/ccache
key: ccache-v4-${{ runner.os }}-${{ matrix.name }}-${{ github.sha }}
restore-keys: |
ccache-v4-${{ runner.os }}-${{ matrix.name }}-
- name: Show ccache configuration, stats and maintenance
shell: bash
run: |
ccache --zero-stats
ccache --evict-older-than 7d
ccache --show-config
- name: Set up Python
if: matrix.python-version != ''
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
if: matrix.python-version != ''
run: |
set -x
python3 -m pip install --upgrade --pre numpy
- name: Get specific version of CMake, latest Ninja
uses: lukka/get-cmake@v4.0.1
with:
cmakeVersion: ~${{ env.CMakeVersion }}
ninjaVersion: latest
- 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/CID ${{ github.workspace }}/.ExternalData/CID
- name: Configure CTest script
run: |
cat > ITK-dashboard/dashboard.cmake << EOF
set(CTEST_BUILD_CONFIGURATION "${{ matrix.cmake-build-type }}")
set(CTEST_CMAKE_GENERATOR "${{ matrix.cmake-generator }}")
set(dashboard_cache "
${{ matrix.ctest-cache }}
CMAKE_C_COMPILER_LAUNCHER:STRING=ccache
CMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache
")
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 -V -j ${{ matrix.parallel-level }} ${{ matrix.ctest-options }}
env:
CTEST_OUTPUT_ON_FAILURE: 1
- name: Report build warnings and errors
if: always()
run: python3 ${{ github.workspace }}/Testing/ContinuousIntegration/report_build_diagnostics.py ${{ github.workspace }}/build
- name: Save compiler cache
if: ${{ !cancelled() }}
uses: actions/cache/save@v5
with:
path: ${{ runner.temp }}/ccache
key: ccache-v4-${{ runner.os }}-${{ matrix.name }}-${{ github.sha }}
- name: ccache stats
if: always()
run: ccache --show-stats