Rozwój¶
Testy są w pełni offline (mock httpx przez respx); domyślne CI nie wykonuje żadnych żywych wywołań.
Dokumentacja¶
Ta dokumentacja to MkDocs + Material. Podgląd lokalny:
Build produkcyjny (jak w CI) — --strict traktuje ostrzeżenia (m.in. martwe
linki) jako błędy:
Po merge do main workflow .github/workflows/docs.yml publikuje stronę na
GitHub Pages.
Wydanie na PyPI¶
Publikacja idzie przez trusted publishing (OIDC) — w repozytorium nie ma i nie może być tokenu API PyPI. Wydanie wyzwala push tagu:
# 1. podbij `version` w pyproject.toml, zacommituj
# 2. otaguj i wypchnij
git tag vX.Y.Z
git push origin vX.Y.Z
Workflow .github/workflows/release.yml przepuszcza pełną matrycę testów,
sprawdza, czy tag zgadza się z project.version (rozjazd = przerwane
wydanie, bo numeru raz zajętego na PyPI nie da się odzyskać), buduje sdist +
wheel, weryfikuje je twine check --strict i obecność zbundlowanych schematów
DjangoQL, po czym publikuje z osobnego joba w środowisku pypi.