Skip to content

Update to use Python 3.12, update resource map layers, refine Kustomize resources, increase deviceid field length. #121

Update to use Python 3.12, update resource map layers, refine Kustomize resources, increase deviceid field length.

Update to use Python 3.12, update resource map layers, refine Kustomize resources, increase deviceid field length. #121

Workflow file for this run

name: "Run unit tests"
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
run_tests:
name: Run Django Tests
runs-on: ubuntu-latest
env:
DATABASE_URL: postgis://postgres:postgres@localhost:5432/postgres
services:
postgres:
image: postgis/postgis:15-3.4-alpine
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
options: --mount type=tmpfs,destination=/var/lib/postgresql/data --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
#----------------------------------------------
# Install GDAL into the environment
#----------------------------------------------
- name: Install GDAL
id: install-gdal
run: |
sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt-get update
sudo apt-get install gdal-bin libgdal-dev
#----------------------------------------------
# Checkout repo and set up Python
#----------------------------------------------
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
id: setup-python
with:
python-version: '3.12'
#----------------------------------------------
# Install & configure Poetry
#----------------------------------------------
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
#----------------------------------------------
# Load cached venv if cache exists
#----------------------------------------------
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v4
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
#----------------------------------------------
# Install project dependencies if cache does not exist
#----------------------------------------------
- name: Install project dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root
#----------------------------------------------
# Run unit tests
#----------------------------------------------
- name: Run tests
run: |
source .venv/bin/activate
python manage.py collectstatic
python manage.py test --noinput --failfast --verbosity 0