Fix --tag parameter to properly push tags and update latest #168
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.
Fix --tag parameter to properly push tags and update latest
Motivation
The --tag parameter was accepted by containertool but had no effect on the
actual tags pushed to the registry. When running:
swift package build-container-image --repository ghcr.io/org/image --tag v1.0.0
The image was only pushed to
ghcr.io/org/image:latest(the default referencefrom --repository), while the output misleadingly reported
ghcr.io/org/image:v1.0.0.This made it impossible to publish versioned releases using the --tag flag.
Modifications
reference from --repository (typically 'latest')
Result
When --tag is provided, the image is pushed to both the specified tag AND the
default reference:
--tag v1.0.0 → pushes to v1.0.0 and latest
--tag latest → pushes to latest (once, no duplicate)
(no --tag) → pushes to latest (existing behavior)
Test Plan
swift package build-container-image --repository ghcr.io/org/image --tag v1.0.0docker pull ghcr.io/org/image:v1.0.0anddocker pull ghcr.io/org/image:latest