ADR 0003 — CI/CD pipeline#
Status: Accepted (Phase 0, 2026-07-03)
Context#
The repo had inherited GitHub Actions workflows from an unrelated project, pointing at a solution file that doesn’t exist here. Nothing was running against cube2-backend.sln.
Decision#
Use GitHub Actions. Single workflow (.github/workflows/ci.yml) with two jobs:
build-test—dotnet restore→build→test(with TRX + code coverage collection).docker-build— build the web image via Buildx with GHA cache; do not push in CI.
Triggers: push + PR against master and develop. Concurrency group cancels in-progress runs on the same ref.
Placeholder env vars are set at the job level so the app can boot for integration tests without any real secrets in CI. Integration tests replace the real DbContext with the in-memory provider via TestWebAppFactory.
Consequences#
- Deploy is not wired in Phase 0. Adding a deploy job (dev, then staging) is a follow-up once a target environment exists.
- Docker images are built but not pushed. Registry choice (GHCR vs ACR / ECR) is deferred.
- Test flakiness in the integration suite blocks all merges — this is intentional; the smoke tests are few and stable.