ENH: capture all errors logged by gdal when opening a file fails #1979
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.9.20 (installed manually) | |
- "osgeo/gdal:ubuntu-small-3.4.3" # python 3.9.20 (installed manually) | |
container: | |
image: ${{ matrix.container }} | |
steps: | |
- name: Install packages | |
run: | | |
apt-get update && apt-get install -y build-essential git python3-dev | |
- name: Install Python | |
# the GDAL 3.4 and 3.5 images do have Python 3.8 installed, so have to | |
# install a more recent Python version manually | |
if: matrix.container == 'osgeo/gdal:ubuntu-small-3.5.3' || matrix.container == 'osgeo/gdal:ubuntu-small-3.4.3' | |
run: | | |
apt-get update && apt-get install -y software-properties-common | |
add-apt-repository -y ppa:deadsnakes/ppa | |
apt-get update && apt-get install -y python3.9-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 | |
run: | | |
curl -LsSf https://astral.sh/uv/install.sh | sh | |
. $HOME/.cargo/env | |
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 |