Files
FabledSteward/pyproject.toml
T
bvandeusen d925709c77
CI / lint (push) Failing after 2s
CI / unit (push) Successful in 7s
CI / integration (push) Successful in 2m8s
ci: add Forgejo CI (lint + unit + Postgres integration) + ci-requirements.md
Single-repo CI now that plugins are bundled in-tree. Three lanes on push to
dev/main, modeled on FabledCurator's canonical ci.yml (minus frontend/Redis):
- lint: ruff check steward/ plugins/ tests/ (no dep install)
- unit: pytest -m 'not integration' — whole current suite (testing=True mocks DB)
- integration: postgres:16-alpine service via socket-discovered bridge IP; a
  boot-and-migrate test creates the real app, running core + all bundled-plugin
  migrations, then round-trips the DB — guards the folded-in migration graph.

Registers the 'integration' pytest marker; adds tests/integration/test_boot.py.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 08:37:32 -04:00

46 lines
814 B
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "steward"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
"quart>=0.19",
"sqlalchemy[asyncio]>=2.0",
"asyncpg>=0.29",
"alembic>=1.13",
"bcrypt>=4.1",
"python-dotenv>=1.0",
"pyyaml>=6.0",
"packaging>=24.0",
"click>=8.0",
"httpx>=0.27",
]
[project.optional-dependencies]
ldap = [
"ldap3>=2.9",
]
snmp = [
"pysnmp-lextudio>=6.2",
]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.23",
]
[project.scripts]
steward = "steward.cli:main"
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
markers = [
"integration: requires a live Postgres; runs only in the integration CI lane",
]
[tool.hatch.build.targets.wheel]
packages = ["steward"]