Implement CI according to SRM and OEG
Closes #10 (closed).
Why
FM's pipeline was the odd one out: a hand-rolled check stage plus a kaniko image build, while OEG and SRM run an identical six-stage pipeline. This adopts theirs, so the three components fail for the same reasons, in the same order, with the same tooling.
The pipeline
Same default block as OEG and SRM: python:3.12-slim, uv cache, and uv sync --locked --extra dev into an activated virtualenv.
| Stage | Command |
|---|---|
type |
mypy |
architecture |
lint-imports |
lint |
ruff check src/ tests/ |
format |
ruff format --check src/ tests/ |
test |
pytest --cov=src/federation_manager --cov-branch --cov-report=term-missing |
build-and-push |
docker buildx build --push, on main and develop only |
build-and-push replaces the kaniko job with the docker:cli + dind job the other two use, including the ci-${CI_COMMIT_REF_SLUG}-${CI_COMMIT_SHORT_SHA} tag convention.