Phase 1 of the registry consolidation rolling out across the homelab —
infra/docs/plans/2026-05-07-forgejo-registry-consolidation-plan.md.
* New .woodpecker/build.yml runs the test suite, then dual-pushes to
viktorbarzin/claude-memory-mcp on DockerHub AND
forgejo.viktorbarzin.me/viktor/claude-memory-mcp.
* GHA ci.yml renamed to .disabled — its build job would otherwise
race the Woodpecker build and clobber Forgejo with a stale image.
Re-enable only on rollback.
* DockerHub remains the canonical pull source until Phase 3 flips
infra/stacks/claude-memory/main.tf image= to Forgejo. Phase 3 also
archives this GitHub repo and CLAUDE.md is updated to point
`claude plugins install` at the Forgejo URL.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add type annotations to all FastAPI endpoints in api/app.py
- Fix bare list/dict generics in sync.py and app.py
- Fix no-any-return in vault_client.py and sync.py
- Remove mypy || true from GitHub Actions CI — mypy is now clean
- GHA ci.yml: add build + deploy jobs (push to DockerHub, trigger Woodpecker)
- Drop test matrix to single Python 3.12, preserve mypy step
- Build/deploy gated on push to main (PRs still run tests only)
- Woodpecker: deploy.yml (manual event, kubectl set image + slack notify)
- Old pipeline preserved as build-fallback.yml (manual trigger)