From 628b5be1b4bbcf773107107f9b4f021c1c988d2a Mon Sep 17 00:00:00 2001 From: elisalle Date: Tue, 28 Jan 2025 17:07:49 +0100 Subject: [PATCH 01/13] bump github action versions --- .github/workflows/lint.yml | 4 ++-- .github/workflows/release.yml | 14 +++++++------- .github/workflows/test.yml | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 33517c40..2dcc2aa7 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -13,10 +13,10 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.10" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c2970dcc..3aff08ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,10 +16,10 @@ jobs: steps: - name: Checkout source - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: "3.10" @@ -29,7 +29,7 @@ jobs: pip install build python -m build - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: ./dist/*.tar.gz retention-days: 5 @@ -50,7 +50,7 @@ jobs: if: matrix.os == 'windows-2019' - name: Build wheels - uses: pypa/cibuildwheel@v2.16.5 + uses: pypa/cibuildwheel@v2.22.0 # to supply options, put them in 'env', like: env: CIBW_SKIP: "pp* *musllinux* cp312" # skips pypy, musllinux and python3.12 @@ -65,7 +65,7 @@ jobs: --no-mangle "libwinpthread-1.dll" {wheel} CIBW_BUILD_VERBOSITY: 1 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl retention-days: 5 @@ -77,13 +77,13 @@ jobs: # release on every tag if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: artifact path: dist - name: Upload Github release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 - name: Upload Release Assets to PyPI uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ba3fe807..dceb95c5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -64,12 +64,12 @@ jobs: use_gdal_36: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: lfs: true - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} @@ -83,7 +83,7 @@ jobs: run: | sudo apt-get update && sudo apt-get install --yes --no-install-recommends libgdal-dev sqlite3 libsqlite3-mod-spatialite - - uses: actions/cache@v3 + - uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ matrix.python }}-${{ matrix.numpy }}-${{ hashFiles('setup.py') }} From ab84f6f78e57affecc73df020bd7a5b6ef2c4b1f Mon Sep 17 00:00:00 2001 From: elisalle Date: Tue, 28 Jan 2025 17:46:11 +0100 Subject: [PATCH 02/13] pin numpy for python 3.13 --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index c6b900f1..1e0f7c56 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,6 +10,7 @@ requires = [ "numpy==1.24.2; python_version=='3.11'", # do not pin numpy on future versions of python to avoid incompatible numpy and python versions "numpy==1.26.*; python_version=='3.12'", + "numpy==2.2.*; python_version=='3.13'", "ninja; platform_system!='Windows'" ] build-backend = "setuptools.build_meta" From ac193b102a04878df5be2d76b28154e10350c34c Mon Sep 17 00:00:00 2001 From: elisalle Date: Tue, 28 Jan 2025 17:54:10 +0100 Subject: [PATCH 03/13] do not build for python 3.13 --- .github/workflows/release.yml | 2 +- pyproject.toml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3aff08ea..6fd574d8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -53,7 +53,7 @@ jobs: uses: pypa/cibuildwheel@v2.22.0 # to supply options, put them in 'env', like: env: - CIBW_SKIP: "pp* *musllinux* cp312" # skips pypy, musllinux and python3.12 + CIBW_SKIP: "pp* *musllinux* cp313*" # skips pypy, musllinux and python3.13 CIBW_ARCHS: auto64 # only 64-bit (convincing CMAKE of 32-bit is a TODO) CIBW_ENVIRONMENT_MACOS: FC=gfortran-12 diff --git a/pyproject.toml b/pyproject.toml index 1e0f7c56..c6b900f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,6 @@ requires = [ "numpy==1.24.2; python_version=='3.11'", # do not pin numpy on future versions of python to avoid incompatible numpy and python versions "numpy==1.26.*; python_version=='3.12'", - "numpy==2.2.*; python_version=='3.13'", "ninja; platform_system!='Windows'" ] build-backend = "setuptools.build_meta" From fc0fc7ddd600b7b8c4894ce1f1821724af04a62b Mon Sep 17 00:00:00 2001 From: elisalle Date: Wed, 29 Jan 2025 10:18:10 +0100 Subject: [PATCH 04/13] try splitting up artifacts --- .github/workflows/release.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6fd574d8..9a77dc19 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,6 +31,7 @@ jobs: - uses: actions/upload-artifact@v4 with: + name: artifact-sdist path: ./dist/*.tar.gz retention-days: 5 @@ -67,6 +68,7 @@ jobs: - uses: actions/upload-artifact@v4 with: + name: artifact-wheel-${{ strategy.job-index }} path: ./wheelhouse/*.whl retention-days: 5 @@ -79,6 +81,8 @@ jobs: steps: - uses: actions/download-artifact@v4 with: + pattern: artifact-* + merge-multiple: true name: artifact path: dist From 058bde746475e2a7842dd578b106b438d56044e9 Mon Sep 17 00:00:00 2001 From: elisalle Date: Wed, 29 Jan 2025 10:32:50 +0100 Subject: [PATCH 05/13] set macosx deployment target --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9a77dc19..07630e7e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -57,7 +57,7 @@ jobs: CIBW_SKIP: "pp* *musllinux* cp313*" # skips pypy, musllinux and python3.13 CIBW_ARCHS: auto64 # only 64-bit (convincing CMAKE of 32-bit is a TODO) CIBW_ENVIRONMENT_MACOS: - FC=gfortran-12 + FC=gfortran-12 MACOSX_DEPLOYMENT_TARGET=13.0 CIBW_BEFORE_ALL: cat WHEEL_LICENSE_POSIX >> LICENSE CIBW_BEFORE_ALL_WINDOWS: cat WHEEL_LICENSE_WINDOWS >> LICENSE CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel From a98e8726de63992e2b8cd712f3327e6b2cc21a45 Mon Sep 17 00:00:00 2001 From: elisalle Date: Wed, 29 Jan 2025 10:41:58 +0100 Subject: [PATCH 06/13] try naming wheel artifact by os --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 07630e7e..5e49bc6b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -68,7 +68,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: artifact-wheel-${{ strategy.job-index }} + name: artifact-wheel-${{ strategy.os }} path: ./wheelhouse/*.whl retention-days: 5 From 66ec872ea3bc56be6a0ca09f93a31929e9ddb13b Mon Sep 17 00:00:00 2001 From: elisalle Date: Wed, 29 Jan 2025 10:46:13 +0100 Subject: [PATCH 07/13] retry naming wheel artifact by os --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5e49bc6b..e0fa2082 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -68,7 +68,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: artifact-wheel-${{ strategy.os }} + name: artifact-wheel-${{ matrix.os }} path: ./wheelhouse/*.whl retention-days: 5 From c3768b616000f01e78503c953c65c1bc12780e41 Mon Sep 17 00:00:00 2001 From: elisalle Date: Wed, 29 Jan 2025 10:55:23 +0100 Subject: [PATCH 08/13] try download and merge artifacts --- .github/workflows/release.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e0fa2082..4b33dbc8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -77,7 +77,7 @@ jobs: needs: [build_sdist, build_wheels] runs-on: ubuntu-latest # release on every tag - if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') + # if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') steps: - uses: actions/download-artifact@v4 with: @@ -86,10 +86,10 @@ jobs: name: artifact path: dist - - name: Upload Github release - uses: softprops/action-gh-release@v2 + # - name: Upload Github release + # uses: softprops/action-gh-release@v2 - - name: Upload Release Assets to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 - with: - password: ${{ secrets.PYPI_UPLOAD_TOKEN }} + # - name: Upload Release Assets to PyPI + # uses: pypa/gh-action-pypi-publish@release/v1 + # with: + # password: ${{ secrets.PYPI_UPLOAD_TOKEN }} From 410ff6453d51a13fb6387f731357bd5788a3551c Mon Sep 17 00:00:00 2001 From: elisalle Date: Wed, 29 Jan 2025 11:02:42 +0100 Subject: [PATCH 09/13] download all artifacts --- .github/workflows/release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4b33dbc8..9bca8620 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -83,7 +83,6 @@ jobs: with: pattern: artifact-* merge-multiple: true - name: artifact path: dist # - name: Upload Github release From 6be7c31aa88e884242c2837ee49243541bc55081 Mon Sep 17 00:00:00 2001 From: elisalle Date: Wed, 29 Jan 2025 11:16:28 +0100 Subject: [PATCH 10/13] view dist contents --- .github/workflows/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9bca8620..88a7a695 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -84,6 +84,12 @@ jobs: pattern: artifact-* merge-multiple: true path: dist + + - name: Check contents + run: | + sudo apt-get update + sudo apt-get install -y tree + tree dist # - name: Upload Github release # uses: softprops/action-gh-release@v2 From c8f6ecaa16b47bfe1909f7bb5baf1446ff5cddae Mon Sep 17 00:00:00 2001 From: elisalle Date: Wed, 29 Jan 2025 11:24:25 +0100 Subject: [PATCH 11/13] Revert "view dist contents" This reverts commit 6be7c31aa88e884242c2837ee49243541bc55081. --- .github/workflows/release.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 88a7a695..9bca8620 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -84,12 +84,6 @@ jobs: pattern: artifact-* merge-multiple: true path: dist - - - name: Check contents - run: | - sudo apt-get update - sudo apt-get install -y tree - tree dist # - name: Upload Github release # uses: softprops/action-gh-release@v2 From b7c7a2c9681ebae0d8a02a95878af03a7735199f Mon Sep 17 00:00:00 2001 From: elisalle Date: Wed, 29 Jan 2025 11:24:30 +0100 Subject: [PATCH 12/13] Revert "try download and merge artifacts" This reverts commit c3768b616000f01e78503c953c65c1bc12780e41. --- .github/workflows/release.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9bca8620..33da7522 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -77,7 +77,7 @@ jobs: needs: [build_sdist, build_wheels] runs-on: ubuntu-latest # release on every tag - # if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') + if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') steps: - uses: actions/download-artifact@v4 with: @@ -85,10 +85,10 @@ jobs: merge-multiple: true path: dist - # - name: Upload Github release - # uses: softprops/action-gh-release@v2 + - name: Upload Github release + uses: softprops/action-gh-release@v2 - # - name: Upload Release Assets to PyPI - # uses: pypa/gh-action-pypi-publish@release/v1 - # with: - # password: ${{ secrets.PYPI_UPLOAD_TOKEN }} + - name: Upload Release Assets to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: ${{ secrets.PYPI_UPLOAD_TOKEN }} From 3493861c5e3906f45c45bc160435949eb4281deb Mon Sep 17 00:00:00 2001 From: elisalle Date: Wed, 29 Jan 2025 13:06:15 +0100 Subject: [PATCH 13/13] update ubuntu, windows and macos --- .github/workflows/release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 33da7522..2481ef32 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,14 +41,14 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, windows-2019, macos-13] + os: [ubuntu-24.04, windows-2022, macos-14] steps: - name: Checkout source uses: actions/checkout@v4 - uses: msys2/setup-msys2@v2 - if: matrix.os == 'windows-2019' + if: matrix.os == 'windows-2022' - name: Build wheels uses: pypa/cibuildwheel@v2.22.0 @@ -57,7 +57,7 @@ jobs: CIBW_SKIP: "pp* *musllinux* cp313*" # skips pypy, musllinux and python3.13 CIBW_ARCHS: auto64 # only 64-bit (convincing CMAKE of 32-bit is a TODO) CIBW_ENVIRONMENT_MACOS: - FC=gfortran-12 MACOSX_DEPLOYMENT_TARGET=13.0 + FC=gfortran-12 MACOSX_DEPLOYMENT_TARGET=14.0 CIBW_BEFORE_ALL: cat WHEEL_LICENSE_POSIX >> LICENSE CIBW_BEFORE_ALL_WINDOWS: cat WHEEL_LICENSE_WINDOWS >> LICENSE CIBW_BEFORE_BUILD_WINDOWS: pip install delvewheel