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.

Merge request reports

Loading