-
-
Notifications
You must be signed in to change notification settings - Fork 27
BLD/RLS: Update wheels to include GDAL 3.9.2 and libkml #451
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
3f21d1e
65627ee
6ed1f4e
bd8697b
cda6c7a
68366df
faa02f2
7ff5eac
b2fbe36
c13f6a3
2394320
7148d17
0c50d31
2dbad37
5fcb59d
48cc4e4
d5e0f61
a8fb230
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -54,36 +54,42 @@ jobs: | |
needs: [build-sdist] | ||
runs-on: ubuntu-latest | ||
container: | ||
image: "ghcr.io/osgeo/gdal:ubuntu-small-3.8.5" | ||
image: "ghcr.io/osgeo/gdal:ubuntu-small-3.9.2" | ||
|
||
steps: | ||
- name: Install packages | ||
run: | | ||
apt-get update && apt-get install -y build-essential python3-dev | ||
|
||
- name: Create virtual environment | ||
run: | | ||
curl -LsSf https://astral.sh/uv/install.sh | sh | ||
. $HOME/.cargo/env | ||
uv venv .venv | ||
|
||
- name: Download sdist from artifacts | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: pyogrio-sdist | ||
path: wheelhouse | ||
|
||
- name: Install pip | ||
run: | | ||
apt-get update && apt-get install -y python3-pip | ||
|
||
- name: Build from sdist and install test dependencies | ||
shell: bash | ||
run: | | ||
python3 -m pip install --no-cache-dir wheelhouse/*.tar.gz | ||
python3 -m pip install --no-cache-dir pytest pandas pyproj shapely>=2 | ||
python3 -m pip install --no-cache-dir --no-deps geopandas | ||
python3 -m pip list | ||
uv pip install --no-cache wheelhouse/*.tar.gz | ||
uv pip install --no-cache pytest pandas pyproj shapely>=2 | ||
uv pip install --no-cache --no-deps geopandas | ||
uv pip list | ||
|
||
- name: Run tests | ||
shell: bash | ||
run: | | ||
cd .. | ||
python3 -m pytest --pyargs pyogrio.tests -v | ||
uv run python -m pytest --pyargs pyogrio.tests -v | ||
|
||
build-wheels-linux: | ||
name: Build wheels on Linux | ||
runs-on: "ubuntu-20.04" | ||
runs-on: "ubuntu-latest" | ||
|
||
steps: | ||
- name: Checkout | ||
|
@@ -103,7 +109,7 @@ jobs: | |
uses: docker/build-push-action@v6 | ||
with: | ||
context: . | ||
file: ci/manylinux2014_x86_64-vcpkg-gdal.Dockerfile | ||
file: ci/manylinux_2_28_x86_64-vcpkg-gdal.Dockerfile | ||
tags: manylinux-vcpkg-gdal:latest | ||
push: false | ||
load: true | ||
|
@@ -129,7 +135,7 @@ jobs: | |
matrix: | ||
include: | ||
- os: "macos-12" | ||
triplet: "x64-osx-dynamic" | ||
triplet: "x64-osx-dynamic-release" | ||
arch: x86_64 | ||
vcpkg_cache: "/Users/runner/.cache/vcpkg/archives" | ||
vcpkg_logs: "/usr/local/share/vcpkg/buildtrees/**/*.log" | ||
|
@@ -160,7 +166,7 @@ jobs: | |
path: | | ||
${{ matrix.vcpkg_cache }} | ||
# bump the last digit to avoid using previous build cache | ||
key: ${{ matrix.os }}-${{ matrix.arch }}-vcpkg-gdal3.8.5-cache0 | ||
key: ${{ matrix.os }}-${{ matrix.arch }}-vcpkg-gdal3.9.2-cache0 | ||
|
||
# MacOS build requires aclocal, which is part of automake, but appears | ||
# to be missing in default image | ||
|
@@ -176,9 +182,9 @@ jobs: | |
cd $VCPKG_INSTALLATION_ROOT | ||
# on mac the clone is not clean, otherwise git pull fails | ||
git reset --hard | ||
# pull latest version to ensure the required commit with GDAL 3.8 is available | ||
# pull latest version to ensure the required commit with GDAL 3.9 is available | ||
git pull | ||
git checkout 4f4a1821b2e8c7a2863e4df65a4d514f84144049 | ||
git checkout 73794ce5f63fd138fab999a22959ca7c6305d93c | ||
|
||
- name: Install GDAL | ||
env: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There is a There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Don't we still need to use the custom triplets? |
||
|
@@ -215,17 +221,26 @@ jobs: | |
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: ["ubuntu-20.04", "windows-latest", "macos-12", "macos-latest"] | ||
os: | ||
[ | ||
"ubuntu-latest", | ||
"ubuntu-20.04", | ||
"windows-latest", | ||
"macos-12", | ||
"macos-latest", | ||
] | ||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | ||
include: | ||
- os: "ubuntu-latest" | ||
artifact: pyogrio-wheel-linux | ||
- os: "ubuntu-20.04" | ||
artifact: pyogrio-wheel-linux | ||
- os: "windows-latest" | ||
artifact: pyogrio-wheel-x64-windows-dynamic-release | ||
- os: "macos-12" | ||
artifact: pyogrio-wheel-x64-osx-dynamic | ||
artifact: pyogrio-wheel-x64-osx-dynamic-release | ||
- os: "macos-latest" | ||
artifact: pyogrio-wheel-x64-osx-dynamic | ||
artifact: pyogrio-wheel-arm64-osx-dynamic-release | ||
|
||
steps: | ||
- name: Checkout | ||
|
@@ -236,8 +251,20 @@ jobs: | |
with: | ||
python-version: ${{ matrix.python-version }} | ||
allow-prereleases: true | ||
cache: "pip" | ||
cache-dependency-path: "ci/requirements-wheel-test.txt" | ||
|
||
- name: Create virtual environment (Linux / MacOS) | ||
if: ${{ runner.os != 'Windows' }} | ||
shell: bash | ||
run: | | ||
curl -LsSf https://astral.sh/uv/install.sh | sh | ||
. $HOME/.cargo/env | ||
uv venv .venv | ||
|
||
- name: Create virtual environment (Windows) | ||
if: ${{ runner.os == 'Windows' }} | ||
run: | | ||
irm https://astral.sh/uv/install.ps1 | iex | ||
uv venv .venv | ||
|
||
- name: Download wheels from artifacts | ||
uses: actions/download-artifact@v4 | ||
|
@@ -248,19 +275,19 @@ jobs: | |
- name: Install dependencies and pyogrio wheel | ||
shell: bash | ||
run: | | ||
python -m pip install -r ci/requirements-wheel-test.txt | ||
uv pip install --no-cache -r ci/requirements-wheel-test.txt | ||
if [ ${{ matrix.python-version }} != "3.12" ]; then | ||
python -m pip install --no-deps geopandas | ||
uv pip install --no-cache --no-deps geopandas | ||
fi | ||
python -m pip install --pre --find-links wheelhouse pyogrio | ||
python -m pip list | ||
uv pip install --no-cache --pre --no-index --find-links wheelhouse pyogrio | ||
uv pip list | ||
|
||
- name: Run tests | ||
shell: bash | ||
run: | | ||
cd .. | ||
python -c "import pyogrio; print(f'GDAL version: {pyogrio.__gdal_version__}\nGEOS version: {pyogrio.__gdal_geos_version__}')" | ||
python -m pytest --pyargs pyogrio.tests -v | ||
uv run python -c "import pyogrio; print(f'GDAL version: {pyogrio.__gdal_version__}\nGEOS version: {pyogrio.__gdal_geos_version__}')" | ||
uv run python -m pytest --pyargs pyogrio.tests -v | ||
|
||
publish: | ||
name: Publish pyogrio to GitHub / PyPI | ||
|
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know why this is now needed? (was there a change in the docker image?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Originally we were installing
python3-pip
which also pulled inbuild-essential
andpython3-dev
as dependencies. We now need to install them directly.