Skip to content

Merge pull request #304 from jonnymaserati/chore/security-policy #640

Merge pull request #304 from jonnymaserati/chore/security-policy

Merge pull request #304 from jonnymaserati/chore/security-policy #640

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: welleng-tests
on:
push:
branches: [ 'main', 'dev' ]
pull_request:
branches: [ 'main', 'dev' ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v7
- name: Install uv
uses: astral-sh/setup-uv@v8.2.0
with:
enable-cache: true
- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}
- name: Install APT dependencies
run: |
sudo apt-get update -qq -y
sudo apt-get install -qq -y build-essential libspatialindex-dev
- name: Lint with ruff
# Config lives in pyproject [tool.ruff]: E/W/F at line-length 88; legacy
# files carry an explicit per-file baseline (burn-down list) so this gate
# holds NEW code to the full standard without a mass legacy refactor.
run: uvx ruff check welleng/ tests/
- name: Test a minimal install
run: |
uv run --isolated --no-dev -p ${{ matrix.python-version }} python tests/test_minimal.py
- name: Install welleng with all extras and run tests
run: |
uv sync --extra all
uv run pytest tests -n auto