Skip to content

ci: Add ci

ci: Add ci #11

Workflow file for this run

name: Tests And Linting
on:
pull_request:
push:
branches:
- main
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install Pre-Commit
run: python -m pip install pre-commit && pre-commit install
- name: Load cached Pre-Commit Dependencies
id: cached-pre-commit-dependencies
uses: actions/cache@v4
with:
path: ~/.cache/pre-commit/
key: pre-commit|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }}
- name: Execute Pre-Commit
run: pre-commit run --show-diff-on-failure --color=always --all-files
mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.9"
allow-prereleases: true
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Run mypy
run: uv run mypy
test:
runs-on: ubuntu-latest
name: Test (Py ${{ matrix.python-version }}, Dj ${{ matrix.django-version }})
strategy:
fail-fast: true
matrix:
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
django-version: [ "4.1", "5.1" ]
exclude:
- python-version: 3.9
django-version: 5.1
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
- name: Test
run: >
uv run
--python=${{ matrix.python-version }}
--with="django~=${{ matrix.django-version }}"
python -m pytest