Skip to content

fix(containers): repin golang:1.27-alpine to a live digest - #3303

Closed
Xore wants to merge 1 commit into
mainfrom
fix/golang-127-alpine-digest
Closed

Xore wants to merge 1 commit into
mainfrom
fix/golang-127-alpine-digest

Conversation

@Xore

@Xore Xore commented Sep 25, 2026

Copy link
Copy Markdown
Owner

Every Go honeypot image build has been failing on the shared self-hosted runner with an opaque failed to solve: lease "...": not found. The buildkit lease error is a symptom, not the cause.

Root cause

The pinned base image digest no longer exists:

GET /v2/library/golang/manifests/sha256:4c9fe60190a2a3350ddc51de80d0224b8a6698d12bdfc999fee45ea9d6c46dbc
HTTP 404 Not Found

When a FROM <image>@<digest> cannot be resolved, buildkit reports the failure through the solve lease rather than a clean base-image error, which is why it looked like a runner fault. It was not — reruns, builder restarts and a full build-cache prune all reproduced it identically.

Fix

Repin golang:1.27-alpine to the tag's current digest sha256:8a5910f31396cd4d89662f56c68b3ae31d374308270a1c3bd96672ee5ed43414 (verified live in Docker Hub) across the 14 Dockerfiles that referenced the dead digest. Digest pinning is retained — the tag is not floating.

Impact

Unblocks the container jobs on PRs #3297, #3298, #3300, #3301 and any other Go-image build.

Verification

  • Dead digest: confirmed HTTP 404 against registry-1.docker.io.
  • New digest: confirmed as the current docker-content-digest for 1.27-alpine.
  • Full container CI on this PR is the proof.

The pinned digest sha256:4c9fe6... no longer resolves in Docker Hub
(HTTP 404), which surfaced in CI as an opaque
'failed to solve: lease ... not found' during the golang build stage.
Repin the tag's current digest sha256:8a5910f3... across all 14
Dockerfiles that referenced the dead one.
@github-actions

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@Xore

Xore commented Sep 25, 2026

Copy link
Copy Markdown
Owner Author

Closing: my diagnosis was wrong. On a token refresh, both the old and new golang:1.27-alpine digests return HTTP 200 from registry-1.docker.io — the earlier 404 came from an expired registry token in my curl, not a deleted image. No repin is needed; the dead-digest claim in this PR is false.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant