From db6ed20db9b66c4c11ed2eea6a9c2132b6a6b6f2 Mon Sep 17 00:00:00 2001 From: Peter Petrik Date: Thu, 12 Sep 2024 10:48:07 +0200 Subject: [PATCH] bump github workflow versions (#216) * bump minor version * compile sqlite on macOS outside brew (recommended in cibuildwheel docs) * add python 3.12 and 3.13 --- .github/workflows/python_packages.yml | 80 +++++++++++++++++---------- geodiff/src/geodiff.cpp | 2 +- pygeodiff/__about__.py | 2 +- setup.py | 2 +- 4 files changed, 53 insertions(+), 33 deletions(-) diff --git a/.github/workflows/python_packages.yml b/.github/workflows/python_packages.yml index 8c0f618..2d44736 100644 --- a/.github/workflows/python_packages.yml +++ b/.github/workflows/python_packages.yml @@ -19,14 +19,15 @@ jobs: - uses: actions/setup-python@v3 name: Install Python with: - python-version: '3.8' + python-version: '3.9' - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v2.20.0 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl + name: wheels-manylinux_2_28 build_linux_wheels_manylinux2014: name: Build wheels for manylinux2014 @@ -45,14 +46,15 @@ jobs: - uses: actions/setup-python@v3 name: Install Python with: - python-version: '3.8' + python-version: '3.9' - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v2.20.0 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl + name: wheels-manylinux2014 build_linux_wheels_musllinux_x86_64: name: Build wheels for musllinux_x86_64 (alpine) @@ -69,14 +71,15 @@ jobs: - uses: actions/setup-python@v3 name: Install Python with: - python-version: '3.8' + python-version: '3.9' - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v2.20.0 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl + name: wheels-musllinux_x86_64 build_windows_wheels: name: Build wheels on windows-latest @@ -94,7 +97,7 @@ jobs: - uses: actions/setup-python@v3 name: Install Python with: - python-version: '3.8' + python-version: '3.9' - name: Install Deps run: | @@ -104,11 +107,12 @@ jobs: dir "C:/vcpkg/installed/x64-windows/bin" - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v2.20.0 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl + name: wheels-windows build_windows_32_wheels: name: Build 32bit wheels on windows-latest @@ -127,7 +131,7 @@ jobs: - uses: actions/setup-python@v3 name: Install Python with: - python-version: '3.8' + python-version: '3.9' architecture: x86 - name: Install Deps @@ -138,19 +142,27 @@ jobs: dir "C:/vcpkg/installed/x86-windows/bin" - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v2.20.0 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl + name: wheels-windows_32 build_macos_arm64_wheels: name: Build wheels on macos-14 (arm64) runs-on: macos-14 env: - SQLite3_ROOT: /opt/homebrew/opt/sqlite + SQLite3_ROOT: ${{ github.workspace }}/libs + MACOSX_DEPLOYMENT_TARGET: '14.0' CIBW_SKIP: cp27-* cp35-* cp36-* CIBW_TEST_COMMAND: python -c "import pygeodiff; pygeodiff.GeoDiff().version()" + CIBW_BEFORE_ALL: > + wget https://www.sqlite.org/2024/sqlite-autoconf-3460100.tar.gz && + tar -xzvf sqlite-autoconf-3460100.tar.gz && + cd sqlite-autoconf-3460100 && + CC=clang CFLAGS="-arch arm64 -O3 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_COLUMN_METADATA" ./configure --enable-dynamic-extensions --prefix=${{ github.workspace }}/libs/ && + make install steps: - uses: actions/checkout@v3 @@ -158,49 +170,54 @@ jobs: - uses: actions/setup-python@v3 name: Install Python with: - python-version: '3.8' + python-version: '3.9' - name: Install Deps run: | - brew install sqlite3 pip install setuptools scikit-build wheel cmake - - ls -la /opt/homebrew - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v2.20.0 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl + name: wheels-macos_arm64 build_macos_wheels: name: Build wheels on macos-13 runs-on: macos-13 env: - SQLite3_ROOT: /usr/local/opt/sqlite + SQLite3_ROOT: ${{ github.workspace }}/libs + MACOSX_DEPLOYMENT_TARGET: '10.9' CIBW_SKIP: cp27-* cp35-* cp36-* CIBW_TEST_COMMAND: python -c "import pygeodiff; pygeodiff.GeoDiff().version()" - + CIBW_BEFORE_ALL: > + wget https://www.sqlite.org/2024/sqlite-autoconf-3460100.tar.gz && + tar -xzvf sqlite-autoconf-3460100.tar.gz && + cd sqlite-autoconf-3460100 && + CC=clang CFLAGS="-arch x86_64 -O3 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_COLUMN_METADATA" ./configure --enable-dynamic-extensions --prefix=${{ github.workspace }}/libs/ && + make install + steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v3 name: Install Python with: - python-version: '3.8' + python-version: '3.9' - name: Install Deps run: | - brew install sqlite3 pip install setuptools scikit-build wheel cmake - name: Build wheels - uses: pypa/cibuildwheel@v2.17.0 + uses: pypa/cibuildwheel@v2.20.0 - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl + name: dist-macos build_sdist: name: Build source distribution @@ -211,7 +228,7 @@ jobs: - uses: actions/setup-python@v3 name: Install Python with: - python-version: '3.8' + python-version: '3.9' - name: Install deps run: | @@ -221,9 +238,10 @@ jobs: - name: Build sdist run: python setup.py sdist - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: path: dist/*.tar.gz + name: dist-source upload_pypi: needs: [build_windows_wheels, build_linux_wheels_manylinux_2_28, build_linux_wheels_manylinux2014, build_linux_wheels_musllinux_x86_64, build_macos_wheels, build_macos_arm64_wheels, build_sdist] @@ -233,6 +251,8 @@ jobs: - uses: actions/download-artifact@v4.1.7 with: name: artifact + pattern: dist-* + merge-multiple: true path: dist - uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/geodiff/src/geodiff.cpp b/geodiff/src/geodiff.cpp index 54af90b..f250ed8 100644 --- a/geodiff/src/geodiff.cpp +++ b/geodiff/src/geodiff.cpp @@ -34,7 +34,7 @@ // use scripts/update_version.py to update the version here and in other places at once const char *GEODIFF_version() { - return "2.0.2"; + return "2.0.3"; } int GEODIFF_driverCount( GEODIFF_ContextH /*contextHandle*/ ) diff --git a/pygeodiff/__about__.py b/pygeodiff/__about__.py index c164a28..1dca2ba 100644 --- a/pygeodiff/__about__.py +++ b/pygeodiff/__about__.py @@ -2,7 +2,7 @@ __description__ = "Diff tool for geo-spatial data" __url__ = "https://github.com/MerginMaps/geodiff" # use scripts/update_version.py to update the version here and in other places at once -__version__ = "2.0.2" +__version__ = "2.0.3" __author__ = "Lutra Consulting Ltd." __author_email__ = "info@merginmaps.com" __maintainer__ = "Lutra Consulting Ltd." diff --git a/setup.py b/setup.py index 4c4b2e6..bb9cabf 100755 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ import platform # use scripts/update_version.py to update the version here and in other places at once -VERSION = "2.0.2" +VERSION = "2.0.3" cmake_args = [ '-DENABLE_TESTS:BOOL=OFF',