diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index d8bb2719..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,48 +0,0 @@ -version: 2.1 - -jobs: - linux-aarch64-wheels: - working_directory: ~/linux-aarch64-wheels - machine: - image: default - docker_layer_caching: true - # resource_class is what tells CircleCI to use an ARM worker for native arm builds - # https://circleci.com/product/features/resource-classes/ - resource_class: arm.medium - environment: - CIBUILDWHEEL: 1 - CIBW_BUILD: "cp*-manylinux_aarch64" - steps: - - checkout - - run: - name: Build docker image with GDAL install - command: docker build -f ci/manylinux_2_28_aarch64-vcpkg-gdal.Dockerfile -t manylinux-aarch64-vcpkg-gdal:latest . - - run: - name: Build the Linux aarch64 wheels. - command: | - python3 -m pip install --user cibuildwheel==2.22.0 - python3 -m cibuildwheel --output-dir wheelhouse - - run: - name: Test the wheels - command: | - python3 -m pip install -r ci/requirements-wheel-test.txt - python3 -m pip install --no-deps geopandas - python3 -m pip install --pre --find-links wheelhouse pyogrio - python3 -m pip list - cd .. - python3 -c "import pyogrio; print(f'GDAL version: {pyogrio.__gdal_version__}\nGEOS version: {pyogrio.__gdal_geos_version__}')" - python3 -m pytest --pyargs pyogrio.tests -v - - store_artifacts: - path: wheelhouse/ - -workflows: - wheel-build: - jobs: - - linux-aarch64-wheels: - filters: - branches: - only: - - main - - wheels-linux-aarch64 - tags: - only: /.*/ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a21916b4..3a62dd42 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -96,7 +96,7 @@ jobs: build-wheels-linux: name: Build wheels on Linux - runs-on: "ubuntu-latest" + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: @@ -104,10 +104,19 @@ jobs: # use manylinux2014 for older glibc platforms until discontinued - wheel_name: "pyogrio-wheel-linux-manylinux2014_x86_64" container: "ci/manylinux2014_x86_64-vcpkg-gdal.Dockerfile" + os: ubuntu-latest + arch: x86_64 # 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 + + - 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 steps: - name: Checkout @@ -128,7 +137,7 @@ jobs: with: context: . file: ${{ matrix.container }} - tags: manylinux-vcpkg-gdal:latest + tags: manylinux-${{ matrix.arch }}-vcpkg-gdal:latest push: false load: true cache-from: type=gha @@ -243,6 +252,7 @@ jobs: [ "ubuntu-latest", "ubuntu-22.04", + "ubuntu-24.04-arm", "windows-latest", "macos-13", "macos-latest", @@ -255,6 +265,8 @@ jobs: artifact: pyogrio-wheel-linux-manylinux_2_28_x86_64 - os: "ubuntu-22.04" artifact: pyogrio-wheel-linux-manylinux_2_28_x86_64 + - os: "ubuntu-24.04-arm" + artifact: pyogrio-wheel-linux-manylinux_2_28_aarch64 - os: "windows-latest" artifact: pyogrio-wheel-x64-windows-dynamic-release - os: "macos-13" diff --git a/pyproject.toml b/pyproject.toml index 3ff2aac3..d4d1640b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,7 +43,7 @@ Repository = "https://github.com/geopandas/pyogrio" [tool.cibuildwheel] skip = ["pp*", "*musllinux*"] archs = ["auto64"] -manylinux-x86_64-image = "manylinux-vcpkg-gdal:latest" +manylinux-x86_64-image = "manylinux-x86_64-vcpkg-gdal:latest" manylinux-aarch64-image = "manylinux-aarch64-vcpkg-gdal:latest" build-verbosity = 3