Fix Docker publish: pass metadata tags to manifest merge - #9
Merged
Merged
Conversation
The merge step jq'd DOCKER_METADATA_OUTPUT_JSON using the bake-file path (.target."docker-metadata-action".tags), which is null for that env var. imagetools create then got no -t flags and failed with "can't push with no tags specified", so main never got tagged on GHCR and the Docker Hub mirror never ran. Read steps.meta.outputs.tags directly and fail loudly if empty.
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this change?
Fixes the failing Merge manifests & tag job in the Docker publish workflow. That job failed on the run for #8's merge: https://github.com/Lucifix/model-workshop-manager/actions/runs/35005981097
The step read the tags from
DOCKER_METADATA_OUTPUT_JSONwith the jq path.target."docker-metadata-action".tags. That path belongs to the bake-file format, and this variable doesn't use it, so jq returnednull. With no tags,imagetools createrefused to push:So main never got
latestorsha-*tags on GHCR, only untagged per-arch digests. The Docker Hub mirror step comes after this one and never ran.The step now:
steps.meta.outputs.tags(newline-separated), the same source the Docker Hub mirror step already usesimagetools createarguments as a bash array instead of relying on word splitting::error::if metadata-action produced no tagsReviewer notes
mainafter merge.DOCKERHUB_USERNAME/DOCKERHUB_TOKENrepo secrets are set.Related issue
Follow-up to #8.
Checklist
npm run lint:fixandnpm run fmtat the repo root (fmt:checkpasses)npm run typecheckandnpm run buildpass: n/a, no app code changedScreenshots
n/a