Generated by infra/scripts/offinfra-onboard: GHA builds+tests on the
GitHub mirror, pushes ghcr.io/viktorbarzin/claude-memory-mcp, then triggers the
Woodpecker deploy (repo 78). Old in-cluster build pipeline
removed: .woodpecker/build.yml .woodpecker/build-fallback.yml
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adopt the documented owned-app deploy model (infra CLAUDE.md, ref
tuya_bridge/.woodpecker.yml): build.yml now tags the image with the
8-char commit SHA (alongside :latest) and adds a `deploy` step that
`kubectl set image`s the deployment to that SHA tag + waits for rollout.
A unique SHA tag forces a fresh pull under the deployment's
imagePullPolicy: IfNotPresent (a re-pushed :latest would not). The
woodpecker-agent SA is cluster-admin so the in-cluster kubectl needs no
kubeconfig; Keel stays enrolled as a redundant net.
Also stop deploy.yml firing on push: it's a manual-only targeted-deploy
tool now. Its IMAGE_TAG-absent exit-78 used to mark the whole push
pipeline red (build.yml + deploy.yml are workflows in one pipeline run),
masking real build/deploy status.
Removes the manual deploy step the recall fix required.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Forgejo build pipeline (woodpecker repo 158) has failed on every run
since the 2026-05-07 Forgejo-only switch: the `test` step was OOM-killed
(exit 137) during `mypy` because the woodpecker namespace LimitRange
defaults containers to a 256Mi memory limit, and `uv sync` + mypy over
fastapi/pydantic/sqlalchemy needs far more. As a result the recall-limit
fix (1c0193f0) could not be built/deployed.
Pin explicit memory (req 1Gi / limit 2Gi) on the `test` and
`build-and-push` steps via backend_options.kubernetes.resources, matching
the in-repo pattern (infra/.woodpecker/default.yml). Also document the
recall default limit (30) and the relevance-bound OR-broadening fallback
in README.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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>
- 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)