Skip to content

fix(ci): clean /tmp/digests and guard stale digests in docker-publish (#15184) - #15836

Merged
diegosouzapw merged 1 commit into
release/v3.8.52from
fix/15184-docker-publish-stale-digests
Oct 10, 2026
Merged

diegosouzapw merged 1 commit into
release/v3.8.52from
fix/15184-docker-publish-stale-digests

Conversation

@diegosouzapw

Copy link
Copy Markdown
Owner

Closes #15184

Root cause

The amd64 build leg can run on the persistent self-hosted omni-build runner. Export digests wrote into a fixed /tmp/digests/* that was never cleaned, so digests from earlier runs were uploaded and the merge job fed all of them to imagetools create, producing N amd64 + 1 arm64 entries in the version index.

Fix

  • Export digests: rm -rf /tmp/digests before mkdir.
  • merge job: new Guard against stale digests step fails if any digest dir holds more than 2 files (amd64 + arm64), before manifests are created.

Tests

tests/unit/docker-publish-stale-digests-15184.test.ts (static workflow check). RED on the base (both assertions failed, per the triage plan), GREEN after the fix. Sibling docker-publish tests: 18 pass, 0 fail. Prettier and eslint are clean. actionlint reports only a pre-existing SC2034 warning at a line this PR does not touch.

Operator follow-up (not part of this PR): re-publish the :3.8.51 / :latest (+ -web/-bun) indexes with only the tag-build digests.

⚠️ base-red inherited: #15306 — unit/integration/package-artifact gates timing out, vitest open-sse/mcp-server/tests/audit.test.ts, check:ai-attribution range error

@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

CI Coverage Report

  • Coverage job: skipped
  • PR test policy: success

Coverage artifact was not available for this run.

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

Labels

None yet

Projects

None yet

1 participant