summaryrefslogtreecommitdiff
path: root/.github/workflows/postgis.yml
diff options
context:
space:
mode:
authornessita <124304+nessita@users.noreply.github.com>2025-06-17 15:25:47 -0300
committerGitHub <noreply@github.com>2025-06-17 15:25:47 -0300
commit8c56e939750ae785b806dfa4e043590760c90ab6 (patch)
treea849fa7261e21a52218067dddbb21ea9bab89773 /.github/workflows/postgis.yml
parent0f60102444d8a2cfb662a7b11b3911b52567ee54 (diff)
Refs #36009 -- Added GitHub action workflow to run tests with latest stable postgis version.
Diffstat (limited to '.github/workflows/postgis.yml')
-rw-r--r--.github/workflows/postgis.yml61
1 files changed, 61 insertions, 0 deletions
diff --git a/.github/workflows/postgis.yml b/.github/workflows/postgis.yml
new file mode 100644
index 0000000000..940f7d4248
--- /dev/null
+++ b/.github/workflows/postgis.yml
@@ -0,0 +1,61 @@
+name: GeoDjango Tests
+
+on:
+ pull_request:
+ types: [labeled, synchronize, opened, reopened]
+ paths-ignore:
+ - 'docs/**'
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+permissions:
+ contents: read
+
+jobs:
+ postgis-latest:
+ if: contains(github.event.pull_request.labels.*.name, 'geodjango')
+ runs-on: ubuntu-latest
+ name: Latest PostGIS
+ services:
+ postgres:
+ image: postgis/postgis:latest
+ env:
+ POSTGRES_DB: geodjango
+ POSTGRES_USER: user
+ POSTGRES_PASSWORD: postgres
+ ports:
+ - 5432:5432
+ options: >-
+ --health-cmd pg_isready
+ --health-interval 10s
+ --health-timeout 5s
+ --health-retries 5
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.13'
+ cache: 'pip'
+ cache-dependency-path: 'tests/requirements/py3.txt'
+ - name: Install libmemcached-dev for pylibmc
+ run: sudo apt install libmemcached-dev
+ - name: Install geospatial dependencies
+ run: sudo apt install -y binutils libproj-dev gdal-bin
+ - name: Print PostGIS versions
+ env:
+ POSTGRES_DB: geodjango
+ POSTGRES_USER: user
+ POSTGRES_PASSWORD: postgres
+ run: |
+ PGPASSWORD=$POSTGRES_PASSWORD psql -U $POSTGRES_USER -d $POSTGRES_DB -h localhost -c "SELECT PostGIS_full_version();"
+ - name: Install and upgrade packaging tools
+ run: python -m pip install --upgrade pip setuptools wheel
+ - run: python -m pip install -r tests/requirements/py3.txt -r tests/requirements/postgres.txt -e .
+ - name: Create PostgreSQL settings file
+ run: mv ./.github/workflows/data/test_postgis.py.tpl ./tests/test_postgis.py
+ - name: Run PostGIS tests
+ run: python -Wall tests/runtests.py -v2 --settings=test_postgis