feat(scaffold): project skeleton with uv + pytest + forgejo CI #1

Merged
goldstein merged 5 commits from feat/scaffold into main 2026-04-18 08:42:57 +00:00
Showing only changes of commit a71f023ed9 - Show all commits

View file

@ -1,4 +1,4 @@
name: CI name: tests
on: on:
push: push:
@ -8,8 +8,6 @@ on:
jobs: jobs:
test: test:
runs-on: docker runs-on: docker
container:
image: python:3.12-slim
services: services:
postgres: postgres:
image: postgres:16 image: postgres:16
@ -17,11 +15,6 @@ jobs:
POSTGRES_USER: test POSTGRES_USER: test
POSTGRES_PASSWORD: test POSTGRES_PASSWORD: test
POSTGRES_DB: ix_test POSTGRES_DB: ix_test
options: >-
--health-cmd="pg_isready -U test"
--health-interval=5s
--health-timeout=3s
--health-retries=10
env: env:
IX_POSTGRES_URL: postgresql+asyncpg://test:test@postgres:5432/ix_test IX_POSTGRES_URL: postgresql+asyncpg://test:test@postgres:5432/ix_test
@ -32,17 +25,14 @@ jobs:
- name: Install system deps for python-magic / PyMuPDF - name: Install system deps for python-magic / PyMuPDF
run: | run: |
apt-get update && apt-get install -y --no-install-recommends \ apt-get update -qq
libmagic1 libgl1 libglib2.0-0 apt-get install -y -qq --no-install-recommends libmagic1 libgl1 libglib2.0-0
- name: Install uv - name: Install uv
run: pip install --no-cache-dir uv run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Install project
run: uv sync --extra dev
- name: Lint - name: Lint
run: uv run ruff check src tests run: ~/.local/bin/uv run --extra dev ruff check src tests
- name: Unit + integration tests (no GPU, no live Ollama) - name: Unit + integration tests
run: uv run pytest tests/unit tests/integration -v run: ~/.local/bin/uv run --extra dev pytest tests/unit tests/integration -v