diff --git a/.github/workflows/build-test-package.yml b/.github/workflows/build-test-package.yml index 5ee4280..6ac1cc1 100644 --- a/.github/workflows/build-test-package.yml +++ b/.github/workflows/build-test-package.yml @@ -9,10 +9,12 @@ on: - main env: - itk-git-tag: "v5.4.0" + # v5.4.0 + additional patches on the release-5.4 branch + itk-git-tag: "49413c3a9e8ecf0f912534e7c13f4c7bc3799d60" itk-wheel-tag: "v5.4.0" # v5.4.0 + fixes - itk-python-package-tag: "a52d9b596b4f0da5ddb770ee99851e5c65ca3053" + itk-python-package-tag: "830d14cc40199f438001ee493288139fb75bba92" + itk-python-package-org: "InsightSoftwareConsortium" jobs: build-test-cxx: @@ -20,7 +22,7 @@ jobs: strategy: max-parallel: 3 matrix: - os: [ubuntu-22.04, windows-2022, macos-12] + os: [ubuntu-22.04, windows-2022, macos-13, macos-14] include: - os: ubuntu-22.04 c-compiler: "gcc" @@ -30,7 +32,11 @@ jobs: c-compiler: "cl.exe" cxx-compiler: "cl.exe" cmake-build-type: "Release" - - os: macos-12 + - os: macos-13 + c-compiler: "clang" + cxx-compiler: "clang++" + cmake-build-type: "MinSizeRel" + - os: macos-14 c-compiler: "clang" cxx-compiler: "clang++" cmake-build-type: "MinSizeRel" @@ -38,6 +44,12 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Free Disk Space (Ubuntu) + if: matrix.os == 'ubuntu-22.04' + uses: jlumbroso/free-disk-space@v1.3.1 + with: + large-packages: false + - name: Set up Python 3.11 uses: actions/setup-python@v5 with: @@ -52,6 +64,16 @@ jobs: - name: Get specific version of CMake, Ninja uses: lukka/get-cmake@v3.29.0 + - name: 'Specific XCode version' + if: matrix.os == 'macos-13' + run: | + sudo xcode-select -s "/Applications/Xcode_14.3.1.app" + + - name: 'Specific XCode version' + if: matrix.os == 'macos-14' + run: | + sudo xcode-select -s "/Applications/Xcode_15.0.1.app" + - name: Download ITK run: | cd .. @@ -61,6 +83,7 @@ jobs: - name: Build ITK if: matrix.os != 'windows-2022' + shell: bash run: | cd .. mkdir ITK-build @@ -70,14 +93,15 @@ jobs: - name: Build ITK if: matrix.os == 'windows-2022' + shell: pwsh run: | + Set-PSDebug -Trace 1 cd .. mkdir ITK-build cd ITK-build - call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + & "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\Launch-VsDevShell.ps1" -Arch amd64 -SkipAutomaticLocation cmake -DCMAKE_C_COMPILER:FILEPATH="${{ matrix.c-compiler }}" -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_CXX_COMPILER="${{ matrix.cxx-compiler }}" -DCMAKE_BUILD_TYPE:STRING=${{ matrix.cmake-build-type }} -DBUILD_TESTING:BOOL=OFF -GNinja ../ITK ninja - shell: cmd - name: Fetch CTest driver script run: | @@ -140,17 +164,17 @@ jobs: - name: Build and test if: matrix.os == 'windows-2022' + shell: pwsh run: | - call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" + & "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\Launch-VsDevShell.ps1" -Arch amd64 -SkipAutomaticLocation ctest --output-on-failure -j 2 -V -S dashboard.cmake - shell: cmd build-linux-python-packages: runs-on: ubuntu-22.04 strategy: max-parallel: 2 matrix: - python-version: ["38", "39", "310", "311"] + python-version: ["39", "310", "311"] steps: - uses: actions/checkout@v4 @@ -209,18 +233,18 @@ jobs: path: Evaluated/ITKModuleTemplate/dist build-macos-python-packages: - runs-on: macos-12 + runs-on: macos-13 strategy: max-parallel: 2 matrix: - python-version: ["38", "39", "310", "311"] + python3-minor-version: ["9", "10", "11"] steps: - uses: actions/checkout@v4 - name: 'Specific XCode version' run: | - sudo xcode-select -s "/Applications/Xcode_13.2.1.app" + sudo xcode-select -s "/Applications/Xcode_14.3.1.app" - name: Get specific version of CMake, Ninja uses: lukka/get-cmake@v3.29.0 @@ -247,13 +271,14 @@ jobs: cd "${GITHUB_WORKSPACE}/Evaluated/ITKModuleTemplate" export ITK_PACKAGE_VERSION=${{ env.itk-wheel-tag }} export ITKPYTHONPACKAGE_TAG=${{ env.itk-python-package-tag }} + export ITKPYTHONPACKAGE_ORG=${{ env.itk-python-package-org }} export MACOSX_DEPLOYMENT_TARGET=10.9 - ../../macpython-download-cache-and-build-module-wheels.sh + ../../macpython-download-cache-and-build-module-wheels.sh "3.${{ matrix.python3-minor-version }}" - name: Publish Python package as GitHub Artifact uses: actions/upload-artifact@v4 with: - name: MacOSWheel3${{ matrix.python-version }} + name: MacOSWheel3${{ matrix.python3-minor-version }} path: Evaluated/ITKModuleTemplate/dist build-windows-python-packages: @@ -261,7 +286,7 @@ jobs: strategy: max-parallel: 2 matrix: - python-version-minor: ["8", "9", "10", "11"] + python-version-minor: ["9", "10", "11"] steps: - uses: actions/checkout@v4 diff --git a/{{cookiecutter.project_name}}/README.md b/{{cookiecutter.project_name}}/README.md new file mode 100644 index 0000000..b365823 --- /dev/null +++ b/{{cookiecutter.project_name}}/README.md @@ -0,0 +1,13 @@ +# {{ cookiecutter.project_name }} + +[![Build Status]({{ cookiecutter.download_url }}/actions/workflows/build-test-package.yml/badge.svg)]({{ cookiecutter.download_url }}/actions/workflows/build-test-package.yml) + +[![PyPI Version](https://img.shields.io/pypi/v/{{ cookiecutter.python_package_name }}.svg)](https://pypi.python.org/pypi/{{ cookiecutter.python_package_name }}) + +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)]({{ cookiecutter.download_url }}/blob/main/LICENSE) + +## Overview + +{{ cookiecutter.project_short_description }} + +{{ cookiecutter.project_long_description }} diff --git a/{{cookiecutter.project_name}}/README.rst b/{{cookiecutter.project_name}}/README.rst deleted file mode 100644 index 963429a..0000000 --- a/{{cookiecutter.project_name}}/README.rst +++ /dev/null @@ -1,21 +0,0 @@ -{{ cookiecutter.project_name }} -================================= - -.. image:: {{ cookiecutter.download_url }}/actions/workflows/build-test-package.yml/badge.svg - :target: {{ cookiecutter.download_url }}/actions/workflows/build-test-package.yml - :alt: Build Status - -.. image:: https://img.shields.io/pypi/v/{{ cookiecutter.python_package_name }}.svg - :target: https://pypi.python.org/pypi/{{ cookiecutter.python_package_name }} - :alt: PyPI Version - -.. image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg - :target: {{ cookiecutter.download_url }}/blob/main/LICENSE - :alt: License - -Overview --------- - -{{ cookiecutter.project_short_description }} - -{{ cookiecutter.project_long_description }} diff --git a/{{cookiecutter.project_name}}/itk-module.cmake b/{{cookiecutter.project_name}}/itk-module.cmake index 9a38e04..462b4a9 100644 --- a/{{cookiecutter.project_name}}/itk-module.cmake +++ b/{{cookiecutter.project_name}}/itk-module.cmake @@ -1,7 +1,7 @@ # the top-level README is used for describing this module, just # re-used it for documentation here get_filename_component(MY_CURRENT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -file(READ "${MY_CURRENT_DIR}/README.rst" DOCUMENTATION) +file(READ "${MY_CURRENT_DIR}/README.md" DOCUMENTATION) # itk_module() defines the module dependencies in {{ cookiecutter.module_name }} # {{ cookiecutter.module_name }} depends on ITKCommon diff --git a/{{cookiecutter.project_name}}/pyproject.toml b/{{cookiecutter.project_name}}/pyproject.toml index 56a891a..fbfc6e5 100644 --- a/{{cookiecutter.project_name}}/pyproject.toml +++ b/{{cookiecutter.project_name}}/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "scikit_build_core.build" name = "{{ cookiecutter.python_package_name }}" version = "0.1.0" description = "{{ cookiecutter.project_short_description }}" -readme = "README.rst" +readme = "README.md" license = {file = "LICENSE"} authors = [ { name = "{{ cookiecutter.full_name }}", email = "{{ cookiecutter.email }}" },