Skip to content

Changes:

Changes: #2223

Workflow file for this run

---
name: Test Suite
on:
push:
branches:
- "**"
pull_request:
branches: ["main", "develop", "release"]
schedule:
- cron: "0 0 * * *"
jobs:
tests:
name: "Python ${{ matrix.python-version }}"
runs-on: "ubuntu-latest"
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
services:
postgres:
image: postgres:16
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: edgy
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
postgres_alt:
image: postgres:16
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: edgy_alt
ports:
- 5433:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: "actions/checkout@v4"
- uses: "dorny/paths-filter@v3"
id: filters
with:
filters: |
docs_src:
- 'docs_src/**'
- 'pyproject.toml'
src:
- 'edgy/**'
- 'tests/**'
- 'scripts/**'
- 'docker-compose.yml'
- 'pyproject.toml'
workflows:
- '.github/workflows/**'
- uses: "actions/setup-python@v5"
with:
python-version: "${{ matrix.python-version }}"
allow-prereleases: true
- uses: actions/cache@v4
id: cache
with:
path: ${{ env.pythonLocation }}
key: ${{ runner.os }}-python-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }}-test-v02
- name: "Install dependencies"
if: steps.cache.outputs.cache-hit != 'true'
run: "pip install hatch"
- name: "Run linting"
if: steps.filters.outputs.src == 'true' || steps.filters.outputs.workflows == 'true'
run: "hatch fmt"
- name: "Run mypy"
run: "hatch run test:check_types"
if: steps.filters.outputs.src == 'true' || steps.filters.outputs.docs_src == 'true' || steps.filters.outputs.workflows == 'true'
- name: "Run tests"
if: steps.filters.outputs.src == 'true' || steps.filters.outputs.workflows == 'true' || github.event.schedule != ''
env:
TEST_DATABASE_URL: "postgresql+asyncpg://postgres:postgres@localhost:5432/edgy"
TEST_DATABASE_ALTERNATIVE_URL: "postgresql+asyncpg://postgres:postgres@localhost:5433/edgy_alt"
run: "hatch test"