Skip to content

image: publish per-image OCI title and description labels#155

Merged
nozaq merged 4 commits into
mainfrom
claude/pr-per-image-oci-labels
Jul 13, 2026
Merged

image: publish per-image OCI title and description labels#155
nozaq merged 4 commits into
mainfrom
claude/pr-per-image-oci-labels

Conversation

@nozaq

@nozaq nozaq commented Jul 12, 2026

Copy link
Copy Markdown
Member

Summary

  • docker/metadata-action previously derived every label from the repository, so all nine images shared the same generic title and description.
  • Add a top-level description field to each build.yaml (moving variant entries under a new variants key), expose it through a new build-config.sh description subcommand, and override the org.opencontainers.image.title/description labels and index annotations with per-image values at publish time in publish-image.yml.

This PR has no file-level dependency on any other PR in this series and can be merged independently.

Note: #156 (mise bookworm removal) has already been merged into this PR's branch (stacked-PR merge target), so this PR's diff now also includes that change. #157 (README sync) and #158 (checksum pinning) remain based on this branch and will retarget to main automatically once this merges.

Test plan

  • Validated the new schema across all 9 build.yaml files and simulated build-config.sh all-matrix output locally
  • CI: build-checks.yml and release.yml dry-run pass with the new schema
  • Post-merge: confirm the Renovate Dependency Dashboard still detects all build.yaml dependencies (indentation-agnostic regex managers)

@nozaq nozaq mentioned this pull request Jul 12, 2026
2 tasks
docker/metadata-action previously derived every label from the
repository, so all nine images shared the same generic title and
description. Add a top-level description field to each build.yaml
(moving variant entries under a variants key), expose it through a new
build-config.sh description subcommand, and override the
org.opencontainers.image.title/description labels and index annotations
with per-image values at publish time.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rt6cdQY4Q3ie1xpMgyy33S
@nozaq nozaq force-pushed the claude/pr-per-image-oci-labels branch from 57e3cf5 to 9b5e078 Compare July 13, 2026 00:11
@nozaq nozaq force-pushed the claude/pr-dockerfile-cleanups branch from 92ebfce to 30f7fa7 Compare July 13, 2026 00:11
@nozaq nozaq changed the base branch from claude/pr-dockerfile-cleanups to main July 13, 2026 00:12
Co-authored-by: Claude <noreply@anthropic.com>
@nozaq nozaq changed the title ci: publish per-image OCI title and description labels image: publish per-image OCI title and description labels Jul 13, 2026
The description field introduced for per-image OCI labels only named
the runtime/tool (e.g. "Go toolchain on Debian"), which doesn't convey
Dev Container purpose to someone browsing the registry without this
repository's context. State that explicitly in every image's
description.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rt6cdQY4Q3ie1xpMgyy33S
docker/metadata-action's labels and annotations are independent inputs
(DOCKER_METADATA_ANNOTATIONS_LEVELS only controls where annotations
attach, not what feeds them), so the per-image
org.opencontainers.image.title/description override only reached the
labels output, not the manifest/index annotations actually pushed to
the registry via docker/build-push-action's annotations input and
imagetools create --annotation. Set the same override on both inputs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Rt6cdQY4Q3ie1xpMgyy33S
@nozaq nozaq merged commit 9a8bfb5 into main Jul 13, 2026
149 checks passed
@nozaq nozaq deleted the claude/pr-per-image-oci-labels branch July 13, 2026 09:38
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.

2 participants