`${{ github.event.repository.name }}` resolves to EMPTY on `schedule`
events since the Gitea upgrade (now 1.27.0), so IMAGE would resolve to
"justin/" and the image build would fail with
ERROR: failed to build: invalid tag
"192.168.0.2:1234/justin/:latest": invalid reference format
This is confirmed in seed-mcp and opsramp-docs, which share this
workflow's lineage. Here the bug is still latent: the monthly refresh
has been failing earlier, during the epa_ppls scrape, when the job
container disappears (`docker daemon ping ... context deadline
exceeded`) roughly 3 h in — a separate runner-side problem that this
commit does NOT address.
- IMAGE now comes from `${{ github.repository }}` (run context, not the
event payload — `github.repository_owner` from the same source was
resolving fine all along).
- The package-link and registry-GC steps take the bare repo name from
`${GITHUB_REPOSITORY##*/}` (POSIX, safe under dash).
- New `Verify image name resolves` step fails in seconds instead of
after a full scrape if this ever regresses.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01FnVuG79cYPcRLTp4pC8ujR
Both workflows had a static IMAGE env (<owner>/<product>-docs-mcp)
and a static --package arg in the GC step. Switch both to Gitea
Actions context variables so a clone of the template into any repo
name works on the first CI run without find/replace:
IMAGE: ${{ github.repository_owner }}/${{ github.event.repository.name }}
--owner ${{ github.repository_owner }}
--package ${{ github.event.repository.name }}
Also add the "Link container package to this repo" step that was
missing from the template (and which, naively copy-pasted from the
reference build, would have linked everything back to docs-mcp-
template). The new step derives owner + package + link-target all
from the running repo's context.
The github.* namespace is Gitea Actions' inherited GitHub-Actions
context — values come from the Gitea server, not github.com. Same
mechanism the reference build's $GITHUB_SHA tag-builder uses.
CLAUDE.md updated to note that image and package naming are
repo-derived; only registry endpoints and the Ollama URL need
per-clone editing.
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>