-
Notifications
You must be signed in to change notification settings - Fork 23
68 lines (58 loc) · 2.13 KB
/
docker-gdal.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
name: Docker GDAL Test
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
# cancel running jobs on new commit to PR
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
TestLinux:
name: GDAL ${{ matrix.container }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
container:
- "ghcr.io/osgeo/gdal:ubuntu-small-latest" # >= python 3.12.3
- "ghcr.io/osgeo/gdal:ubuntu-small-3.9.2" # python 3.12.3
- "ghcr.io/osgeo/gdal:ubuntu-small-3.8.5" # python 3.10.12
- "ghcr.io/osgeo/gdal:ubuntu-small-3.7.3" # python 3.10.12
- "ghcr.io/osgeo/gdal:ubuntu-small-3.6.4" # python 3.10.6
- "osgeo/gdal:ubuntu-small-3.5.3" # python 3.8.10?
- "osgeo/gdal:ubuntu-small-3.4.3" # python 3.8.10?
container:
image: ${{ matrix.container }}
steps:
- name: Install packages
run: |
apt-get update && apt-get install -y build-essential git python3-dev
- uses: actions/checkout@v4
- name: Create virtual environment
# install uv and use it to create a virtual environment, then add it to
# environment variables so that it is automatically activated and can be
# used for tests below
shell: bash
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
. $HOME/.cargo/env
if [ ${{ matrix.container }} == "osgeo/gdal:ubuntu-small-3.5.3" ]; then
uv python install 3.9
fi
uv venv .venv
echo "VIRTUAL_ENV=.venv" >> $GITHUB_ENV
echo "$PWD/.venv/bin" >> $GITHUB_PATH
- name: Install Python Dependencies
run: |
uv pip install -e .[dev,test,geopandas]
- name: Install pyarrow
# GDAL>=3.6 required to use Arrow API
if: matrix.container != 'osgeo/gdal:ubuntu-small-3.5.3' && matrix.container != 'osgeo/gdal:ubuntu-small-3.4.3'
run: |
uv pip install pyarrow
- name: Test with pytest
run: |
pytest --cov=pyogrio --cov-report term-missing pyogrio/tests