From 729586e5c63e1586be90e5afd99f3d1b6dfda9b5 Mon Sep 17 00:00:00 2001 From: Tom Birdsong Date: Tue, 29 Nov 2022 11:51:56 -0500 Subject: [PATCH 1/2] ENH: Update for ITKPythonPackage script updates Changes: - Expose ITKPythonPackage organization and tag parameters to facilitate 1) testing ITKPythonPackage script updates from user forks and 2) applying ITKPythonPackage script patches introduced after packaging in ITKPythonBuilds archives - Update `MANYLINUX_VERSION` parameter for Linux wheel build scripts --- .../workflows/build-test-package-python.yml | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build-test-package-python.yml b/.github/workflows/build-test-package-python.yml index 9ed35a6..8afd909 100644 --- a/.github/workflows/build-test-package-python.yml +++ b/.github/workflows/build-test-package-python.yml @@ -14,7 +14,11 @@ on: itk-python-package-tag: required: false type: string - default: '0f5effc39afbf7cb1ac5ab20faa0996ddb12b34d' # 5.3 patch + default: '329438a7302a93b427690f0af454d6e84320f4cb' # 5.3 patch + itk-python-package-org: + required: false + type: string + default: 'InsightSoftwareConsortium' secrets: pypi_password: required: false # Packages will not be uploaded to PyPI if not set @@ -47,27 +51,27 @@ jobs: - name: 'Fetch build script' run: | - ITK_PYTHON_PACKAGE_GIT_TAG=${{ inputs.itk-python-package-tag }} - if [[ -z ${ITK_PYTHON_PACKAGE_GIT_TAG} ]]; then - ITK_PYTHON_PACKAGE_GIT_TAG="master" - fi - - curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITKPythonPackage/${ITK_PYTHON_PACKAGE_GIT_TAG}/scripts/dockcross-manylinux-download-cache-and-build-module-wheels.sh -O + IPP_DOWNLOAD_GIT_TAG=${{ inputs.itk-python-package-tag }} + IPP_DOWNLOAD_ORG=${{ inputs.itk-python-package-org }} + curl -L https://raw.githubusercontent.com/${IPP_DOWNLOAD_ORG:=InsightSoftwareConsortium}/ITKPythonPackage/${IPP_DOWNLOAD_GIT_TAG:=master}/scripts/dockcross-manylinux-download-cache-and-build-module-wheels.sh -O chmod u+x dockcross-manylinux-download-cache-and-build-module-wheels.sh - name: 'Build 🐍 Python 📦 package' shell: bash run: | export ITK_PACKAGE_VERSION=${{ inputs.itk-wheel-tag }} + export ITKPYTHONPACKAGE_TAG=${{ inputs.itk-python-package-tag }} + export ITKPYTHONPACKAGE_ORG=${{ inputs.itk-python-package-org }} if [ -z ${{ inputs.cmake-options }}]; then CMAKE_OPTIONS="" else CMAKE_OPTIONS="--cmake_options ${{ inputs.cmake-options }}" fi - for tarball in "-manylinux_2_28" "-manylinux2014"; do + for manylinux_version in "_2_28" "2014"; do rm -rf ITKPythonPackage - export TARBALL_SPECIALIZATION=${tarball} + export MANYLINUX_VERSION=${manylinux_version} + echo "Building for manylinux specialization ${MANYLINUX_VERSION}" ./dockcross-manylinux-download-cache-and-build-module-wheels.sh cp${{ matrix.python-version }} $CMAKE_OPTIONS done @@ -94,18 +98,17 @@ jobs: - name: 'Fetch build script' run: | - ITK_PYTHON_PACKAGE_GIT_TAG=${{ inputs.itk-python-package-tag }} - if [[ -z ${ITK_PYTHON_PACKAGE_GIT_TAG} ]]; then - ITK_PYTHON_PACKAGE_GIT_TAG="master" - fi - - curl -L https://raw.githubusercontent.com/InsightSoftwareConsortium/ITKPythonPackage/${ITK_PYTHON_PACKAGE_GIT_TAG}/scripts/macpython-download-cache-and-build-module-wheels.sh -O + IPP_DOWNLOAD_GIT_TAG=${{ inputs.itk-python-package-tag }} + IPP_DOWNLOAD_ORG=${{ inputs.itk-python-package-org }} + curl -L https://raw.githubusercontent.com/${IPP_DOWNLOAD_ORG:=InsightSoftwareConsortium}/ITKPythonPackage/${IPP_DOWNLOAD_GIT_TAG:=master}/scripts/macpython-download-cache-and-build-module-wheels.sh -O chmod u+x macpython-download-cache-and-build-module-wheels.sh - name: 'Build 🐍 Python 📦 package' shell: bash run: | export ITK_PACKAGE_VERSION=${{ inputs.itk-wheel-tag }} + export ITKPYTHONPACKAGE_TAG=${{ inputs.itk-python-package-tag }} + export ITKPYTHONPACKAGE_ORG=${{ inputs.itk-python-package-org }} export MACOSX_DEPLOYMENT_TARGET=10.9 if [ -z ${{ inputs.cmake-options }}]; then CMAKE_OPTIONS="" @@ -135,6 +138,12 @@ jobs: with: path: "im" + - name: 'Reduce source path length' + shell: bash + run: | + # Move checked-out source to a shorter path to avoid Windows path length issues + mv im ../../ + - name: 'Install Python' run: | $pythonArch = "64" @@ -144,7 +153,6 @@ jobs: - name: 'Fetch build dependencies' shell: bash run: | - mv im ../../ cd ../../ curl -L "https://github.com/InsightSoftwareConsortium/ITKPythonBuilds/releases/download/${{ inputs.itk-wheel-tag }}/ITKPythonBuilds-windows.zip" -o "ITKPythonBuilds-windows.zip" 7z x ITKPythonBuilds-windows.zip -o/c/P -aoa -r @@ -156,8 +164,8 @@ jobs: if [[ -n ${{ inputs.itk-python-package-tag }} ]]; then echo "Updating ITKPythonPackage build scripts to ${{ inputs.itk-python-package-tag }}" pushd /c/P/IPP - git remote add InsightSoftwareConsortium https://github.com/InsightSoftwareConsortium/ITKPythonPackage.git --tags - git fetch InsightSoftwareConsortium + git remote add ${{ inputs.itk-python-package-org }} https://github.com/${{ inputs.itk-python-package-org }}/ITKPythonPackage.git --tags + git fetch ${{ inputs.itk-python-package-org }} git checkout ${{ inputs.itk-python-package-tag }} git status popd From c9821c7d73a830c8a72b47f8d19381836d743c5f Mon Sep 17 00:00:00 2001 From: Tom Birdsong Date: Wed, 30 Nov 2022 16:12:13 -0500 Subject: [PATCH 2/2] WIP: Update for ITKPythonPackage commit hash --- .github/workflows/build-test-package-python.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test-package-python.yml b/.github/workflows/build-test-package-python.yml index 8afd909..d1597f4 100644 --- a/.github/workflows/build-test-package-python.yml +++ b/.github/workflows/build-test-package-python.yml @@ -14,7 +14,7 @@ on: itk-python-package-tag: required: false type: string - default: '329438a7302a93b427690f0af454d6e84320f4cb' # 5.3 patch + default: '03391ad738438661fff40bfe37a7cfabd171b9b1' # 5.3 patch itk-python-package-org: required: false type: string