Skip to content

BUILD: quick check if LibKML and LibSpatialite can be included now #546

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

Draft
wants to merge 27 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,17 +106,20 @@ jobs:
container: "ci/manylinux2014_x86_64-vcpkg-gdal.Dockerfile"
os: ubuntu-latest
arch: x86_64
vcpkg_logs: "/usr/local/share/vcpkg/buildtrees/**/*.log"

# use manylinux_2_28 for any platforms with glibc>=2.28
- wheel_name: "pyogrio-wheel-linux-manylinux_2_28_x86_64"
container: "ci/manylinux_2_28_x86_64-vcpkg-gdal.Dockerfile"
os: ubuntu-latest
arch: x86_64
vcpkg_logs: "/usr/local/share/vcpkg/buildtrees/**/*.log"

- wheel_name: "pyogrio-wheel-linux-manylinux_2_28_aarch64"
container: "ci/manylinux_2_28_aarch64-vcpkg-gdal.Dockerfile"
os: ubuntu-24.04-arm
arch: aarch64
vcpkg_logs: "/usr/local/share/vcpkg/buildtrees/**/*.log"

steps:
- name: Checkout
Expand All @@ -137,14 +140,31 @@ jobs:
with:
context: .
file: ${{ matrix.container }}
tags: manylinux-${{ matrix.arch }}-vcpkg-gdal:latest
tags: manylinux-${{ matrix.arch }}-vcpkg-gdal-latest
push: false
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
env:
BUILDKIT_PROGRESS: plain

- name: Upload artifacts
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
pattern: "!*.dockerbuild"

- name: Display structure of downloaded files
run: ls -R

- name: Upload vcpkg build logs
if: ${{ failure() }}
uses: actions/upload-artifact@v4
with:
name: pyogrio-vcpkg-logs-${{ matrix.wheel_name }}
path: ~/*.log
retention-days: 10

- name: Build wheels
uses: pypa/[email protected]

Expand Down Expand Up @@ -173,7 +193,7 @@ jobs:
vcpkg_cache: "/Users/runner/.cache/vcpkg/archives"
vcpkg_logs: "/usr/local/share/vcpkg/buildtrees/**/*.log"

- os: "windows-2019"
- os: "windows-latest"
triplet: "x64-windows-dynamic-release"
arch: AMD64
# windows requires windows-specific paths
Expand Down
24 changes: 12 additions & 12 deletions ci/manylinux2014_x86_64-vcpkg-gdal.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ RUN yum install -y curl unzip zip tar perl-IPC-Cmd
# require python >= 3.7 (python 3.6 is default on base image) for meson
RUN ln -s /opt/python/cp38-cp38/bin/python3 /usr/bin/python3

RUN git clone https://github.com/Microsoft/vcpkg.git /opt/vcpkg && \
git -C /opt/vcpkg checkout 66c1c9852bb30bd87285e77cc775072046d51fc6
RUN git clone https://github.com/Microsoft/vcpkg.git /usr/local/share/vcpkg && \
git -C /usr/local/share/vcpkg checkout 66c1c9852bb30bd87285e77cc775072046d51fc6

ENV VCPKG_INSTALLATION_ROOT="/opt/vcpkg"
ENV PATH="${PATH}:/opt/vcpkg"
ENV VCPKG_INSTALLATION_ROOT="/usr/local/share/vcpkg"
ENV PATH="${PATH}:/usr/local/share/vcpkg"

ENV VCPKG_DEFAULT_TRIPLET="x64-linux-dynamic-release"

Expand All @@ -21,16 +21,16 @@ RUN bootstrap-vcpkg.sh && \
vcpkg integrate install && \
vcpkg integrate bash

COPY ci/custom-triplets/x64-linux-dynamic-release.cmake opt/vcpkg/custom-triplets/x64-linux-dynamic-release.cmake
COPY ci/vcpkg-custom-ports/ opt/vcpkg/custom-ports/
COPY ci/vcpkg.json opt/vcpkg/
COPY ci/custom-triplets/x64-linux-dynamic-release.cmake /usr/local/share/vcpkg/custom-triplets/x64-linux-dynamic-release.cmake
COPY ci/vcpkg-custom-ports/ /usr/local/share/vcpkg/custom-ports/
COPY ci/vcpkg.json /usr/local/share/vcpkg/

ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/vcpkg/installed/x64-linux-dynamic-release/lib"
RUN vcpkg install --overlay-triplets=opt/vcpkg/custom-triplets \
--overlay-ports=opt/vcpkg/custom-ports \
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/share/vcpkg/installed/x64-linux-dynamic-release/lib"
RUN vcpkg install --overlay-triplets=/usr/local/share/vcpkg/custom-triplets \
--overlay-ports=/usr/local/share/vcpkg/custom-ports \
--feature-flags="versions,manifests" \
--x-manifest-root=opt/vcpkg \
--x-install-root=opt/vcpkg/installed && \
--x-manifest-root=/usr/local/share/vcpkg \
--x-install-root=/usr/local/share/vcpkg/installed && \
vcpkg list

# setting git safe directory is required for properly building wheels when
Expand Down
20 changes: 10 additions & 10 deletions ci/manylinux_2_28_aarch64-vcpkg-gdal.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ FROM quay.io/pypa/manylinux_2_28_aarch64:2025-01-11-3165879
# building openssl needs IPC-Cmd (https://github.com/microsoft/vcpkg/issues/24988)
RUN dnf -y install curl zip unzip tar ninja-build perl-IPC-Cmd

RUN git clone https://github.com/Microsoft/vcpkg.git /opt/vcpkg && \
git -C /opt/vcpkg checkout 66c1c9852bb30bd87285e77cc775072046d51fc6
RUN git clone https://github.com/Microsoft/vcpkg.git /usr/local/share/vcpkg && \
git -C /usr/local/share/vcpkg checkout 66c1c9852bb30bd87285e77cc775072046d51fc6

ENV VCPKG_INSTALLATION_ROOT="/opt/vcpkg"
ENV PATH="${PATH}:/opt/vcpkg"
ENV VCPKG_INSTALLATION_ROOT="/usr/local/share/vcpkg"
ENV PATH="${PATH}:/usr/local/share/vcpkg"

ENV VCPKG_DEFAULT_TRIPLET="arm64-linux-dynamic-release"
# pkgconf fails to build with default debug mode of arm64-linux host
Expand All @@ -23,14 +23,14 @@ RUN bootstrap-vcpkg.sh && \
vcpkg integrate install && \
vcpkg integrate bash

COPY ci/custom-triplets/arm64-linux-dynamic-release.cmake opt/vcpkg/custom-triplets/arm64-linux-dynamic-release.cmake
COPY ci/vcpkg.json opt/vcpkg/
COPY ci/custom-triplets/arm64-linux-dynamic-release.cmake /usr/local/share/vcpkg/custom-triplets/arm64-linux-dynamic-release.cmake
COPY ci/vcpkg.json /usr/local/share/vcpkg/

ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/vcpkg/installed/arm64-linux-dynamic-release/lib"
RUN vcpkg install --overlay-triplets=opt/vcpkg/custom-triplets \
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/share/vcpkg/installed/arm64-linux-dynamic-release/lib"
RUN vcpkg install --overlay-triplets=/usr/local/share/vcpkg/custom-triplets \
--feature-flags="versions,manifests" \
--x-manifest-root=opt/vcpkg \
--x-install-root=opt/vcpkg/installed && \
--x-manifest-root=/usr/local/share/vcpkg/ \
--x-install-root=/usr/local/share/vcpkg/installed && \
vcpkg list

# setting git safe directory is required for properly building wheels when
Expand Down
20 changes: 10 additions & 10 deletions ci/manylinux_2_28_x86_64-vcpkg-gdal.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ FROM quay.io/pypa/manylinux_2_28_x86_64:2025-01-11-3165879
# building openssl needs IPC-Cmd (https://github.com/microsoft/vcpkg/issues/24988)
RUN dnf -y install curl zip unzip tar ninja-build perl-IPC-Cmd

RUN git clone https://github.com/Microsoft/vcpkg.git /opt/vcpkg && \
git -C /opt/vcpkg checkout 66c1c9852bb30bd87285e77cc775072046d51fc6
RUN git clone https://github.com/Microsoft/vcpkg.git /usr/local/share/vcpkg && \
git -C /usr/local/share/vcpkg checkout 66c1c9852bb30bd87285e77cc775072046d51fc6

ENV VCPKG_INSTALLATION_ROOT="/opt/vcpkg"
ENV PATH="${PATH}:/opt/vcpkg"
ENV VCPKG_INSTALLATION_ROOT="/usr/local/share/vcpkg"
ENV PATH="${PATH}:/usr/local/share/vcpkg"

ENV VCPKG_DEFAULT_TRIPLET="x64-linux-dynamic-release"

Expand All @@ -18,14 +18,14 @@ RUN bootstrap-vcpkg.sh && \
vcpkg integrate install && \
vcpkg integrate bash

COPY ci/custom-triplets/x64-linux-dynamic-release.cmake opt/vcpkg/custom-triplets/x64-linux-dynamic-release.cmake
COPY ci/vcpkg.json opt/vcpkg/
COPY ci/custom-triplets/x64-linux-dynamic-release.cmake /usr/local/share/vcpkg/custom-triplets/x64-linux-dynamic-release.cmake
COPY ci/vcpkg.json /usr/local/share/vcpkg/

ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/vcpkg/installed/x64-linux-dynamic-release/lib"
RUN vcpkg install --overlay-triplets=opt/vcpkg/custom-triplets \
ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/share/vcpkg/installed/x64-linux-dynamic-release/lib"
RUN vcpkg install --overlay-triplets=/usr/local/share/vcpkg/custom-triplets \
--feature-flags="versions,manifests" \
--x-manifest-root=opt/vcpkg \
--x-install-root=opt/vcpkg/installed && \
--x-manifest-root=/usr/local/share/vcpkg \
--x-install-root=/usr/local/share/vcpkg/installed && \
vcpkg list

# setting git safe directory is required for properly building wheels when
Expand Down
16 changes: 15 additions & 1 deletion ci/vcpkg.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,24 @@
"name": "pyogrio",
"version": "0.11.0",
"dependencies": [
{
"name": "libspatialite",
"default-features": false,
"features": [
"rttopo"
]
},
{
"name": "gdal",
"default-features": false,
"features": ["recommended-features", "curl", "geos", "iconv", "openssl"]
"features": [
"recommended-features",
"curl",
"geos",
"iconv",
"openssl",
"libkml"
]
}
],
"builtin-baseline": "66c1c9852bb30bd87285e77cc775072046d51fc6"
Expand Down
Loading