You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
docker/metadata-action provides a way to infer tag names and labels from git metadata. It's very convenient in terms of creating semantic versioning image tags automatically whenever a git tag is created. e.g. git tag v1.2.3 becomes container tags 1, 1.2, 1.2.3.
The compatibility issue comes from that redhat-actions/buildah-build and redhat-actions/push-to-registry handle image names and tags input differently from docker's actions.
In summary:
docker action takes a list of tags in the canonical form of image:tag.
buildah action takes a single image and a list of tag names as only the tag part, and then different image prefix (namespace) need to be specified in the push action.
In additional there is also a problem with pushing the same image to different image names in the current model. Docker action's model is more flexible here, for example, podman's official image has two different image names: quay.io/containers/podman:<version>, quay.io/podman/stable:<version>. If we attempt to build and push both image names, the docker action approach would be much more convenient as user just need to specify two image:tag in the canonical format (see example action.yml attached below). However, with current buildah action, we will have to manually add a step to create a tag alias, and then run push action twice.
Describe the solution you'd like
The preferred solution is to changing the image name / tag name input behavior to align with docker's actions. In terms of implementation, image input would become optional. If image input it not provided, tags inputs must be specified in canonical form of image:tag. This way it can be backwards compatible with existing workflows.
Describe alternatives you've considered
Create a podman-metadata action that is similar to docker metadata action, but output only one image name and multiple tags in separate fields. However, this is way less ideal for the use case of pushing different image names I mentioned previously. Also the development and maintenance cost is probably not worth it.
Is your feature request related to a problem? Please describe.
docker/metadata-action provides a way to infer tag names and labels from git metadata. It's very convenient in terms of creating semantic versioning image tags automatically whenever a git tag is created. e.g. git tag
v1.2.3
becomes container tags1
,1.2
,1.2.3
.The compatibility issue comes from that
redhat-actions/buildah-build
andredhat-actions/push-to-registry
handle image names and tags input differently from docker's actions.In summary:
tags
in the canonical form ofimage:tag
.image
and a list of tag names as only thetag
part, and then different image prefix (namespace) need to be specified in the push action.In additional there is also a problem with pushing the same image to different image names in the current model. Docker action's model is more flexible here, for example,
podman
's official image has two different image names:quay.io/containers/podman:<version>
,quay.io/podman/stable:<version>
. If we attempt to build and push both image names, the docker action approach would be much more convenient as user just need to specify twoimage:tag
in the canonical format (see example action.yml attached below). However, with current buildah action, we will have to manually add a step to create a tag alias, and then run push action twice.Describe the solution you'd like
The preferred solution is to changing the image name / tag name input behavior to align with docker's actions. In terms of implementation,
image
input would become optional. Ifimage
input it not provided,tags
inputs must be specified in canonical form ofimage:tag
. This way it can be backwards compatible with existing workflows.Describe alternatives you've considered
Create a podman-metadata action that is similar to docker metadata action, but output only one image name and multiple tags in separate fields. However, this is way less ideal for the use case of pushing different image names I mentioned previously. Also the development and maintenance cost is probably not worth it.
Additional context
Here is an example using
docker/metadata-action
:The text was updated successfully, but these errors were encountered: