Skip to content

Set alembic path_separator and pin postgres 17 #270

Set alembic path_separator and pin postgres 17

Set alembic path_separator and pin postgres 17 #270

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: extractions/setup-just@v4
- uses: astral-sh/setup-uv@v8.2.0
- run: uv python install 3.14
- run: uv python pin 3.14
- run: |
uv sync --all-extras --all-groups --frozen --no-install-project
uv run ruff format . --check
uv run ruff check . --no-fix
uv run ty check
- run: just adr-check
pytest:
runs-on: ubuntu-latest
name: pytest (${{ matrix.name }})
strategy:
fail-fast: false
matrix:
include:
- name: app
run: |
uv run alembic upgrade head
uv run pytest . --cov=. --cov-report xml
# pytest-alembic upgrades an empty database itself, so no `alembic upgrade` first.
- name: migrations
run: uv run pytest tests/migrations --override-ini=addopts=
services:
postgres:
image: postgres:17
env:
POSTGRES_DB: postgres
POSTGRES_PASSWORD: password
POSTGRES_USER: postgres
ports:
- 5432:5432
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v8.2.0
- run: uv python install 3.14
- run: uv python pin 3.14
- run: |
uv sync --all-extras --all-groups --frozen --no-install-project
${{ matrix.run }}
env:
SERVICE_ENVIRONMENT: ci
PYTHONDONTWRITEBYTECODE: 1
PYTHONUNBUFFERED: 1
DB_DSN: postgresql+asyncpg://postgres:password@127.0.0.1/postgres