From 92cf0def739b4336d31b2ba0937b23280de02379 Mon Sep 17 00:00:00 2001 From: Simon Rit Date: Sat, 13 Aug 2022 07:00:21 +0200 Subject: [PATCH] ENH: Update GitHub actions for ITK 5.3 RC 4 The commit also includes the following changes from InsightSoftwareConsortium/ITKModuleTemplate: ENH: Bump ITK cookiecutter version ENH: Switch Github Actions macOS environment --- .github/workflows/build-test-package.yml | 51 +++++++++++------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/.github/workflows/build-test-package.yml b/.github/workflows/build-test-package.yml index 4af95313e..7c8e49d1f 100644 --- a/.github/workflows/build-test-package.yml +++ b/.github/workflows/build-test-package.yml @@ -2,38 +2,37 @@ name: Build, test, package on: [push,pull_request] +env: + itk-git-tag: "v5.3rc04" + itk-wheel-tag: "v5.3rc04.post2" + jobs: build-test-cxx: runs-on: ${{ matrix.os }} strategy: max-parallel: 3 matrix: - os: [self-hosted-linux, self-hosted-windows,ubuntu-20.04, windows-2019, macos-10.15] + os: [self-hosted-linux, self-hosted-windows,ubuntu-20.04, windows-2019, macos-11] include: - os: self-hosted-linux c-compiler: "gcc" cxx-compiler: "g++" - itk-git-tag: "d6acfd26bfcdec606d605beb1301bddfb17c05a6" cmake-build-type: "MinSizeRel" - os: self-hosted-windows c-compiler: "cl.exe" cxx-compiler: "cl.exe" - itk-git-tag: "d6acfd26bfcdec606d605beb1301bddfb17c05a6" cmake-build-type: "Release" - os: ubuntu-20.04 c-compiler: "gcc" cxx-compiler: "g++" - itk-git-tag: "d6acfd26bfcdec606d605beb1301bddfb17c05a6" cmake-build-type: "MinSizeRel" - os: windows-2019 c-compiler: "cl.exe" cxx-compiler: "cl.exe" - itk-git-tag: "d6acfd26bfcdec606d605beb1301bddfb17c05a6" cmake-build-type: "Release" - - os: macos-10.15 + - os: macos-11 c-compiler: "clang" cxx-compiler: "clang++" - itk-git-tag: "d6acfd26bfcdec606d605beb1301bddfb17c05a6" cmake-build-type: "MinSizeRel" steps: @@ -66,7 +65,7 @@ jobs: cd .. git clone https://github.com/InsightSoftwareConsortium/ITK.git cd ITK - git checkout ${{ matrix.itk-git-tag }} + git checkout ${{ env.itk-git-tag }} - name: Build ITK if: matrix.os != 'windows-2019' && matrix.os != 'self-hosted-windows' @@ -173,8 +172,6 @@ jobs: max-parallel: 2 matrix: python-version: [37, 38, 39, 310] - include: - - itk-python-git-tag: "v5.3rc04" steps: - uses: actions/checkout@v2 @@ -195,8 +192,12 @@ jobs: - name: 'Build 🐍 Python 📦 package' run: | - export ITK_PACKAGE_VERSION=${{ matrix.itk-python-git-tag }} - ./dockcross-manylinux-download-cache-and-build-module-wheels.sh cp${{ matrix.python-version }} + export ITK_PACKAGE_VERSION=${{ env.itk-wheel-tag }} + for tarball in "" "-manylinux2014"; do + rm -rf ITKPythonPackage + export TARBALL_SPECIALIZATION=${tarball} + ./dockcross-manylinux-download-cache-and-build-module-wheels.sh cp${{ matrix.python-version }} + done - name: Publish Python package as GitHub Artifact uses: actions/upload-artifact@v1 @@ -210,8 +211,6 @@ jobs: max-parallel: 2 matrix: python-version: [37, 38, 39, 310] - include: - - itk-python-git-tag: "v5.3rc04" steps: - uses: actions/checkout@v2 @@ -223,9 +222,14 @@ jobs: - name: 'Build 🐍 Python 📦 package' run: | - export ITK_PACKAGE_VERSION=${{ matrix.itk-python-git-tag }} + export ITK_PACKAGE_VERSION=${{ env.itk-wheel-tag }} export LD_LIBRARY_PATH="/home/srit/Downloads/cuda116:/home/srit/Downloads/cuda116/targets/x86_64-linux/lib:/home/srit/Downloads/cuda116/lib64/stubs" - ./dockcross-manylinux-download-cache-and-build-module-wheels.sh -c "-DCUDAToolkit_ROOT=/usr/lib64/cuda116 -DCMAKE_CUDA_COMPILER=/usr/lib64/cuda116/bin/nvcc" -x "libcuda.so;libcuda.so.1;libcudart.so;libcudart.so.11.0;libcublas.so;libcublas.so.11;libcublasLt.so;libcublasLt.so.11;libcufft.so;libcufft.so.10" cp${{ matrix.python-version }} + for tarball in "" "-manylinux2014"; do + rm -rf ITKPythonPackage + export TARBALL_SPECIALIZATION=${tarball} + ./dockcross-manylinux-download-cache-and-build-module-wheels.sh -c "-DCUDAToolkit_ROOT=/usr/lib64/cuda116 -DCMAKE_CUDA_COMPILER=/usr/lib64/cuda116/bin/nvcc" -x "libcuda.so;libcuda.so.1;libcudart.so;libcudart.so.11.0;libcublas.so;libcublas.so.11;libcublasLt.so;libcublasLt.so.11;libcufft.so;libcufft.so.10" cp${{ matrix.python-version }} + done + - name: Publish Python package as GitHub Artifact uses: actions/upload-artifact@v1 @@ -234,12 +238,9 @@ jobs: path: dist build-macos-python-packages: - runs-on: macos-10.15 + runs-on: macos-11 strategy: max-parallel: 2 - matrix: - include: - - itk-python-git-tag: "v5.3rc04" steps: - uses: actions/checkout@v2 @@ -258,7 +259,7 @@ jobs: - name: 'Build 🐍 Python 📦 package' run: | - export ITK_PACKAGE_VERSION=${{ matrix.itk-python-git-tag }} + export ITK_PACKAGE_VERSION=${{ env.itk-wheel-tag }} export MACOSX_DEPLOYMENT_TARGET=10.9 ./macpython-download-cache-and-build-module-wheels.sh @@ -274,8 +275,6 @@ jobs: max-parallel: 2 matrix: python-version-minor: [7, 8, 9, 10] - include: - - itk-python-git-tag: "v5.3rc04" steps: - name: Get specific version of CMake, Ninja @@ -296,7 +295,7 @@ jobs: run: | mv im ../../ cd ../../im - curl -L "https://github.com/InsightSoftwareConsortium/ITKPythonBuilds/releases/download/${{ matrix.itk-python-git-tag }}/ITKPythonBuilds-windows.zip" -o "ITKPythonBuilds-windows.zip" + curl -L "https://github.com/InsightSoftwareConsortium/ITKPythonBuilds/releases/download/${{ env.itk-wheel-tag }}/ITKPythonBuilds-windows.zip" -o "ITKPythonBuilds-windows.zip" 7z x ITKPythonBuilds-windows.zip -o/c/P -aoa -r curl -L "https://data.kitware.com/api/v1/file/5c0ad59d8d777f2179dd3e9c/download" -o "doxygen-1.8.11.windows.bin.zip" 7z x doxygen-1.8.11.windows.bin.zip -o/c/P/doxygen -aoa -r @@ -325,8 +324,6 @@ jobs: max-parallel: 2 matrix: python-version-minor: [7, 8, 9, 10] - include: - - itk-python-git-tag: "v5.3rc04" steps: - uses: actions/checkout@v2 @@ -349,7 +346,7 @@ jobs: run: | mv im ../../ cd ../../im - curl -L "https://github.com/InsightSoftwareConsortium/ITKPythonBuilds/releases/download/${{ matrix.itk-python-git-tag }}/ITKPythonBuilds-windows.zip" -o "ITKPythonBuilds-windows.zip" + curl -L "https://github.com/InsightSoftwareConsortium/ITKPythonBuilds/releases/download/${{ env.itk-wheel-tag }}/ITKPythonBuilds-windows.zip" -o "ITKPythonBuilds-windows.zip" 7z x ITKPythonBuilds-windows.zip -o/c/P -aoa -r curl -L "https://data.kitware.com/api/v1/file/5c0ad59d8d777f2179dd3e9c/download" -o "doxygen-1.8.11.windows.bin.zip" 7z x doxygen-1.8.11.windows.bin.zip -o/c/P/doxygen -aoa -r