Repository navigation
Conversation
docker/metadata-action's default flavor (latest=auto) adds `latest` on a tag event, so every v1 release re-pointed ghcr.io/…/inspector:latest at deprecated v1. Set latest=false; the version tag is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: cliffhall <cliff@futurescale.com>
There was a problem hiding this comment.
🔵 Needs a closer look
Repository guidance reserves the deprecated v1/main branch for maintainer-handled security fixes, so this non-security release-workflow change requires maintainer authorization.
No open issues 🎉
What changed in this PR
Prevents future v1 releases from overwriting the GHCR image’s latest tag, keeping deprecated v1 images from replacing v2 as the default pull target.
Changes:
- Sets
flavor: latest=falsefor container metadata generation while preserving version tags. - Adds a comment explaining why the guard must remain, referencing #2958 and npm’s existing v1 tagging policy.
| File | Description |
|---|---|
.github/workflows/main.yml |
Disables automatic latest tagging for v1 container releases and documents the reason. |
Review effort: Balanced
|
Re the review note on v1/main's scope: this is maintainer-authorized. It isn't a v1 feature. It stops a v1 release from re-pointing GHCR's |
Closes #2958
A v1 release moved the GHCR image's
latesttag to v1. After 1.0.5,ghcr.io/modelcontextprotocol/inspector:latestresolved to the 1.0.5 image (sha256:59726800…6a73), not 2.14.0.Change
publish-github-container-registryrandocker/metadata-action@v6with onlyimages:, so its defaultflavor: latest=autoaddedlatestnext to the version tag on every tag event. This setsflavor: latest=falseon theExtract metadatastep, with a comment saying why it must stay. The version tag (type=ref,event=tag, for example1.0.5) is unchanged. It's the GHCR counterpart ofpublish-all's--tag v1-lateston npm.Not in this PR
latestitself is restored by the next v2 release:main's workflow setsflavor: latest=trueexplicitly.Checks
prettier --check .github/workflows/main.yml: passes.releaseevent, so it can't be exercised on this PR. The PR's ownbuildandtestjobs confirm the file still parses.🤖 Generated with Claude Code