From 2f403a7ab4f7832513579342baa536923666a8c8 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Tue, 1 Oct 2024 17:12:46 -0400 Subject: [PATCH 01/21] Update build.yml --- .github/workflows/build.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 946b56a2..438fe4e5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -164,26 +164,24 @@ jobs: clean: false path: 'itksnap' - - name: Setup tmate session - uses: mxschmitt/action-tmate@v3 - if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} - - # Build ITK-SNAP - - name: Build ITK-SNAP + # Configure ITK-SNAP + - name: Configure ITK-SNAP uses: threeal/cmake-action@v2.0.0 continue-on-error: true with: source-dir: ${{github.workspace}}/itksnap build-dir: ${{github.workspace}}/itksnap/build generator: Ninja - build-args: | - -t - package + run-build: false options: | ITK_DIR=${{github.workspace}}/itk/build VTK_DIR=${{github.workspace}}/vtk/install/lib/cmake/vtk-9.3 CMAKE_BUILD_TYPE=Release + - name: Setup tmate session + uses: mxschmitt/action-tmate@v3 + if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} + # Cache the ITK-SNAP build - name: Cache ITK-SNAP build directory uses: actions/cache/save@v4 From c259d20a2167ee7d9a72670d15ab5c0722f760e0 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Tue, 1 Oct 2024 17:27:42 -0400 Subject: [PATCH 02/21] Update build.yml --- .github/workflows/build.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 438fe4e5..e98a1992 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -182,6 +182,16 @@ jobs: uses: mxschmitt/action-tmate@v3 if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} + # Build ITK-SNAP using CDash + - name: Build and Test ITK-SNAP + working-directory: ${{github.workspace}}/itksnap/build + run: | + ctest -D ExperimentalStart + ctest -D ExperimentalConfigure + ctest -D ExperimentalBuild + ctest -D ExperimentalTest + ctest -D ExperimentalSubmit + # Cache the ITK-SNAP build - name: Cache ITK-SNAP build directory uses: actions/cache/save@v4 From 4d63f51806a87b335be5f2d5f7ef5f3669483a9b Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Tue, 1 Oct 2024 18:17:39 -0400 Subject: [PATCH 03/21] Update build.yml --- .github/workflows/build.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e98a1992..32c9ebbf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,15 +30,19 @@ jobs: - os: ubuntu-20.04 qt_host: linux qt_arch: gcc_64 + test_pref: xvfb-run - os: macos-13 qt_host: mac qt_arch: clang_64 + test_pref: '' - os: macos-14 qt_host: mac qt_arch: clang_64 + test_pref: '' - os: windows-2019 qt_host: windows qt_arch: win64_msvc2019_64 + test_pref: '' steps: @@ -186,11 +190,11 @@ jobs: - name: Build and Test ITK-SNAP working-directory: ${{github.workspace}}/itksnap/build run: | - ctest -D ExperimentalStart - ctest -D ExperimentalConfigure - ctest -D ExperimentalBuild - ctest -D ExperimentalTest - ctest -D ExperimentalSubmit + ${{ matrix.test_pref }} ctest -D ExperimentalStart + ${{ matrix.test_pref }} ctest -D ExperimentalConfigure + ${{ matrix.test_pref }} ctest -D ExperimentalBuild + ${{ matrix.test_pref }} ctest -D ExperimentalTest | echo "no problem" + ${{ matrix.test_pref }} ctest -D ExperimentalSubmit # Cache the ITK-SNAP build - name: Cache ITK-SNAP build directory From b5ef6d5c227de311d9b076ddc47dcd9a375fa869 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Tue, 1 Oct 2024 22:13:58 -0400 Subject: [PATCH 04/21] Update build.yml --- .github/workflows/build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 32c9ebbf..b11c94e5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,7 +30,7 @@ jobs: - os: ubuntu-20.04 qt_host: linux qt_arch: gcc_64 - test_pref: xvfb-run + test_pref: xvfb-run -a - os: macos-13 qt_host: mac qt_arch: clang_64 @@ -181,6 +181,8 @@ jobs: ITK_DIR=${{github.workspace}}/itk/build VTK_DIR=${{github.workspace}}/vtk/install/lib/cmake/vtk-9.3 CMAKE_BUILD_TYPE=Release + DO_UPLOAD=ON + SITE=github-runner-${{ matrix.os }} - name: Setup tmate session uses: mxschmitt/action-tmate@v3 From 70d19bda652b9e4205c18fcf1a91b1f34a1aef79 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 10:45:27 -0400 Subject: [PATCH 05/21] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b11c94e5..a91febaa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -111,6 +111,7 @@ jobs: VTK_MODULE_ENABLE_VTK_GUISupportQtSQL:STRING=NO CMAKE_BUILD_TYPE=Release CMAKE_INSTALL_PREFIX=${{github.workspace}}/vtk/install + ${{ runner.os == 'Windows' && 'DSMP_IMPLEMENTATION_TYPE=Sequential' || '' }} # Use cached ITK build if available. Unfortunately ITK make install fails to # install one file, vnl_vector_ref.hxx so instead of caching the install dir From 40846590d543e6d93e457c24059c153458d64a63 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 10:51:16 -0400 Subject: [PATCH 06/21] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a91febaa..fa275d3b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -111,7 +111,7 @@ jobs: VTK_MODULE_ENABLE_VTK_GUISupportQtSQL:STRING=NO CMAKE_BUILD_TYPE=Release CMAKE_INSTALL_PREFIX=${{github.workspace}}/vtk/install - ${{ runner.os == 'Windows' && 'DSMP_IMPLEMENTATION_TYPE=Sequential' || '' }} + ${{ runner.os == 'Windows' && 'SMP_IMPLEMENTATION_TYPE=Sequential' || '' }} # Use cached ITK build if available. Unfortunately ITK make install fails to # install one file, vnl_vector_ref.hxx so instead of caching the install dir From 6f6863614c0c334c2a1ae5b09038154c90bf1d24 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 10:58:11 -0400 Subject: [PATCH 07/21] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fa275d3b..a6677b7f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -111,7 +111,7 @@ jobs: VTK_MODULE_ENABLE_VTK_GUISupportQtSQL:STRING=NO CMAKE_BUILD_TYPE=Release CMAKE_INSTALL_PREFIX=${{github.workspace}}/vtk/install - ${{ runner.os == 'Windows' && 'SMP_IMPLEMENTATION_TYPE=Sequential' || '' }} + ${{ runner.os == 'Windows' && 'VTK_SMP_IMPLEMENTATION_TYPE=Sequential' || '' }} # Use cached ITK build if available. Unfortunately ITK make install fails to # install one file, vnl_vector_ref.hxx so instead of caching the install dir From 2ce33897466fac6451a87858319807d590b87408 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 11:04:38 -0400 Subject: [PATCH 08/21] Update build.yml --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a6677b7f..7f7da4f7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -100,6 +100,8 @@ jobs: build-args: | -t install + -k + 0 generator: Ninja options: | BUILD_TESTING:BOOL=FALSE From e112f42f0bc3d4ad05136b3abd3833a4c2b0073f Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 12:18:20 -0400 Subject: [PATCH 09/21] Update build.yml --- .github/workflows/build.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7f7da4f7..5ca17ac6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -97,11 +97,7 @@ jobs: with: source-dir: ${{github.workspace}}/vtk build-dir: ${{github.workspace}}/vtk/build - build-args: | - -t - install - -k - 0 + build-args: "-t install -- -k 0" generator: Ninja options: | BUILD_TESTING:BOOL=FALSE From f0830bbdc3ea0145039c0d33e44cb7c36db0a145 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 12:48:15 -0400 Subject: [PATCH 10/21] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5ca17ac6..6459ceba 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -109,7 +109,7 @@ jobs: VTK_MODULE_ENABLE_VTK_GUISupportQtSQL:STRING=NO CMAKE_BUILD_TYPE=Release CMAKE_INSTALL_PREFIX=${{github.workspace}}/vtk/install - ${{ runner.os == 'Windows' && 'VTK_SMP_IMPLEMENTATION_TYPE=Sequential' || '' }} + ${{ runner.os == 'Windows' && 'VTK_SMP_ENABLE_STDTHREAD=OFF' || '' }} # Use cached ITK build if available. Unfortunately ITK make install fails to # install one file, vnl_vector_ref.hxx so instead of caching the install dir From f6a901616d887d255b025a1eec1475f81b12f727 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 14:17:08 -0400 Subject: [PATCH 11/21] Update build.yml --- .github/workflows/build.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6459ceba..ca511568 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -63,6 +63,19 @@ jobs: apt: libcurl4-openssl-dev choco: curl + # Install curl on Windows + - name: Install libcurl on Windows + uses: johnwason/vcpkg-action@v6 + with: + pkgs: curl + triplet: x64-windows-release + token: ${{ github.token }} + github-binarycache: false + + - name: Setup tmate session 0 + uses: mxschmitt/action-tmate@v3 + if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} + # Install Qt - name: Install Qt on Ubuntu uses: jurplel/install-qt-action@v4 From fa4724280278044e7ebda1c04983e678a6dabbb3 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 14:24:09 -0400 Subject: [PATCH 12/21] Update build.yml --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ca511568..4c9280ca 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,11 +61,12 @@ jobs: with: brew: curl apt: libcurl4-openssl-dev - choco: curl + # choco: curl # Install curl on Windows - name: Install libcurl on Windows uses: johnwason/vcpkg-action@v6 + if: ${{ runner.os == 'Windows' }} with: pkgs: curl triplet: x64-windows-release From d7279d7689f19acdcbabfc475713cf465bcb828c Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 14:33:14 -0400 Subject: [PATCH 13/21] Update build.yml --- .github/workflows/build.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4c9280ca..0c636cbb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -73,10 +73,6 @@ jobs: token: ${{ github.token }} github-binarycache: false - - name: Setup tmate session 0 - uses: mxschmitt/action-tmate@v3 - if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} - # Install Qt - name: Install Qt on Ubuntu uses: jurplel/install-qt-action@v4 @@ -85,11 +81,12 @@ jobs: target: 'desktop' host: ${{ matrix.qt_host }} arch: ${{ matrix.qt_arch }} + cache: true # Use cached VTK build if available - - name: Cache VTK + - name: Restore VTK Cache id: cache-vtk - uses: actions/cache@v4 + uses: actions/cache/restore@v4 with: path: ${{github.workspace}}/vtk/install key: ${{ matrix.os }}-vtk-9.3.1 @@ -125,6 +122,13 @@ jobs: CMAKE_INSTALL_PREFIX=${{github.workspace}}/vtk/install ${{ runner.os == 'Windows' && 'VTK_SMP_ENABLE_STDTHREAD=OFF' || '' }} + # Cache the VTK build + - name: Cache VTK + uses: actions/cache/save@v4 + with: + path: ${{github.workspace}}/vtk/install + key: ${{ matrix.os }}-vtk-9.3.1 + # Use cached ITK build if available. Unfortunately ITK make install fails to # install one file, vnl_vector_ref.hxx so instead of caching the install dir # we are caching the build dir From 347f8a9bf447fb9c4e1eaa0912b36b4aa502b14d Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 15:41:37 -0400 Subject: [PATCH 14/21] Update build.yml --- .github/workflows/build.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0c636cbb..792ce6c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -124,6 +124,7 @@ jobs: # Cache the VTK build - name: Cache VTK + if: steps.cache-vtk.outputs.cache-hit != 'true' uses: actions/cache/save@v4 with: path: ${{github.workspace}}/vtk/install @@ -132,9 +133,9 @@ jobs: # Use cached ITK build if available. Unfortunately ITK make install fails to # install one file, vnl_vector_ref.hxx so instead of caching the install dir # we are caching the build dir - - name: Cache ITK + - name: Restore ITK Cache id: cache-itk - uses: actions/cache@v4 + uses: actions/cache/restore@v4 with: path: ${{github.workspace}}/itk key: ${{ matrix.os }}-itk-5.4.0-build @@ -166,6 +167,13 @@ jobs: Module_MorphologicalContourInterpolation:BOOL=TRUE CMAKE_BUILD_TYPE=Release CMAKE_INSTALL_PREFIX=${{github.workspace}}/itk/install + + - name: Cache ITK + if: steps.cache-itk.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + path: ${{github.workspace}}/itk + key: ${{ matrix.os }}-itk-5.4.0-build # Restore ITK-SNAP cache if requested by the user. This should allow us to create faster builds # because only the updated files should require rebuilding From af0d0b725f29883355677d62acc9be3df7755c56 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 16:49:11 -0400 Subject: [PATCH 15/21] Update build.yml --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 792ce6c9..b3c7e071 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -208,6 +208,8 @@ jobs: CMAKE_BUILD_TYPE=Release DO_UPLOAD=ON SITE=github-runner-${{ matrix.os }} + ${{ runner.os == 'Windows' && 'CURL_LIBRARY=../../vcpkg/installed/x64-windows-release/lib/libcurl.lib' || '' }} + ${{ runner.os == 'Windows' && 'CURL_INCLUDE_DIR=../../vcpkg/installed/x64-windows-release/include' || '' }} - name: Setup tmate session uses: mxschmitt/action-tmate@v3 From d2be9e29dfaf5db31c04b09571dbea4f2404c782 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 19:04:34 -0400 Subject: [PATCH 16/21] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b3c7e071..8cea3bef 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -222,7 +222,7 @@ jobs: ${{ matrix.test_pref }} ctest -D ExperimentalStart ${{ matrix.test_pref }} ctest -D ExperimentalConfigure ${{ matrix.test_pref }} ctest -D ExperimentalBuild - ${{ matrix.test_pref }} ctest -D ExperimentalTest | echo "no problem" + ${{ matrix.test_pref }} ctest -D ExperimentalTest ${{ runner.os == 'Windows' && '| echo "no problem"' || '' }} ${{ matrix.test_pref }} ctest -D ExperimentalSubmit # Cache the ITK-SNAP build From 6fd3304385556c607e8522bafdfbd0d8c681b668 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 19:05:15 -0400 Subject: [PATCH 17/21] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8cea3bef..5e9cc436 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -222,7 +222,7 @@ jobs: ${{ matrix.test_pref }} ctest -D ExperimentalStart ${{ matrix.test_pref }} ctest -D ExperimentalConfigure ${{ matrix.test_pref }} ctest -D ExperimentalBuild - ${{ matrix.test_pref }} ctest -D ExperimentalTest ${{ runner.os == 'Windows' && '| echo "no problem"' || '' }} + ${{ matrix.test_pref }} ctest -D ExperimentalTest ${{ runner.os != 'Windows' && '| echo "no problem"' || '' }} ${{ matrix.test_pref }} ctest -D ExperimentalSubmit # Cache the ITK-SNAP build From b6ef25af137942efac6cb6bb6bf14ffdeefbc1d7 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 22:15:11 -0400 Subject: [PATCH 18/21] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5e9cc436..0a72dbae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04,macos-13,macos-14,windows-2019] + os: [ubuntu-20.04,macos-13,macos-14,windows-2022] include: - os: ubuntu-20.04 qt_host: linux From 2136e715e318a6370e2a6c4fd4c7bc48194a2140 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Wed, 2 Oct 2024 22:16:51 -0400 Subject: [PATCH 19/21] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0a72dbae..41a8aea7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,7 +39,7 @@ jobs: qt_host: mac qt_arch: clang_64 test_pref: '' - - os: windows-2019 + - os: windows-2022 qt_host: windows qt_arch: win64_msvc2019_64 test_pref: '' From 6b8240d8603e702bfd552785102ab8cf4b79be34 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Thu, 3 Oct 2024 05:52:40 -0400 Subject: [PATCH 20/21] Update CMakeLists.txt --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0067a80c..58b1ec09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,8 +4,6 @@ # This CMake file is modeled after QtTest example project from # http://www.cmake.org/Wiki/BundleUtilitiesExample -PROJECT(SNAP) - #-------------------------------------------------------------------------------- # CMAKE PRELIMINARIES #-------------------------------------------------------------------------------- @@ -17,6 +15,10 @@ cmake_policy(SET CMP0026 NEW) cmake_policy(SET CMP0077 NEW) cmake_policy(SET CMP0080 OLD) +#-------------------------------------------------------------------------------- +# PROJECT DEFINITION +#-------------------------------------------------------------------------------- +PROJECT(SNAP) SET(CMAKE_MODULE_PATH ${SNAP_SOURCE_DIR}/CMake) OPTION(BUILD_SHARED_LIBS "Build shared (dynamic) libraries" OFF) From 3c8a711d1206aaa4cd5a2115d0d896e4379c4361 Mon Sep 17 00:00:00 2001 From: Paul Yushkevich Date: Thu, 3 Oct 2024 06:04:54 -0400 Subject: [PATCH 21/21] Update build.yml --- .github/workflows/build.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 41a8aea7..38061d58 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,6 +26,9 @@ jobs: fail-fast: false matrix: os: [ubuntu-20.04,macos-13,macos-14,windows-2022] + itk_ver: [ '5.4.0' ] + vtk_ver: [ '9.3.1' ] + qt_ver: [ '6.6.3' ] include: - os: ubuntu-20.04 qt_host: linux @@ -77,7 +80,7 @@ jobs: - name: Install Qt on Ubuntu uses: jurplel/install-qt-action@v4 with: - version: '6.6.3' + version: ${{ matrix.qt_ver }} target: 'desktop' host: ${{ matrix.qt_host }} arch: ${{ matrix.qt_arch }} @@ -89,7 +92,7 @@ jobs: uses: actions/cache/restore@v4 with: path: ${{github.workspace}}/vtk/install - key: ${{ matrix.os }}-vtk-9.3.1 + key: ${{ matrix.os }}-vtk-${{ matrix.vtk_ver }} # Check out VTK - name: Checkout VTK @@ -97,7 +100,7 @@ jobs: uses: actions/checkout@v4 with: repository: 'Kitware/VTK.git' - ref: 'v9.3.1' + ref: v${{ matrix.vtk_ver }} submodules: true path: 'vtk' @@ -128,7 +131,7 @@ jobs: uses: actions/cache/save@v4 with: path: ${{github.workspace}}/vtk/install - key: ${{ matrix.os }}-vtk-9.3.1 + key: ${{ matrix.os }}-vtk-${{ matrix.vtk_ver }} # Use cached ITK build if available. Unfortunately ITK make install fails to # install one file, vnl_vector_ref.hxx so instead of caching the install dir @@ -138,7 +141,7 @@ jobs: uses: actions/cache/restore@v4 with: path: ${{github.workspace}}/itk - key: ${{ matrix.os }}-itk-5.4.0-build + key: ${{ matrix.os }}-itk-${{ matrix.itk_ver }}-build # Check out ITK - name: Checkout ITK @@ -146,7 +149,7 @@ jobs: uses: actions/checkout@v4 with: repository: 'InsightSoftwareConsortium/ITK.git' - ref: 'v5.4.0' + ref: v${{ matrix.itk_ver }} submodules: true path: 'itk' @@ -173,7 +176,7 @@ jobs: uses: actions/cache/save@v4 with: path: ${{github.workspace}}/itk - key: ${{ matrix.os }}-itk-5.4.0-build + key: ${{ matrix.os }}-itk-${{ matrix.itk_ver }}-build # Restore ITK-SNAP cache if requested by the user. This should allow us to create faster builds # because only the updated files should require rebuilding