Giter Site home page Giter Site logo

Comments (7)

mpreu avatar mpreu commented on May 29, 2024 3

Thanks for the notification and the further discussion.

The workaround @TriplEight linked is a good example. I usually want/need to support multiple gliding tags along with unique tags for one image. Matrix build is a workaround, but in the end I need support for multiple tags as in the docker/build-push-action.

Due to the focus of this action to just push existing images, taking n input tags here makes sense to me if (buildah-build action can support multiple output tags).

from push-to-registry.

TriplEight avatar TriplEight commented on May 29, 2024 1

Thanks for @ing!
Would be really great to have similar behaviour in https://github.com/marketplace/actions/buildah-build action. They are pretty much connected and would be really nice to use them the way https://github.com/marketplace/actions/build-and-push-docker-images does.
My recent use case was building an ugly workaround which effectively builds and pushes the similar image twice, in parallel, just in order to have two tags.

We don't want to change the tag input because it should still point to the existing, "parent" image, that we will alias to have extra tags.

What's the difference though? Anyway, this is the same image, just with two tags pointing at it. And doesn't really matter which of them is the "parent".

from push-to-registry.

tetchel avatar tetchel commented on May 29, 2024 1

This feature is now available in the v2 tags of buildah-build and push-to-registry.

from push-to-registry.

tetchel avatar tetchel commented on May 29, 2024

This got some attention, so I will try and write a clearer requirement:

  • We don't want to change the tag input because it should still point to the existing, "parent" image, that we will alias to have extra tags.
  • We can add a new input called tag_aliases (name is up for debate. extra_tags ?) which is a space-separated list of extra tags that we want to tag the parent image with, and then we will push the parent image as well as all the aliases.

Then when the action executes:

  • First, find the image we're going to push, and pull it into Podman if it's from Docker.
  • Before doing the podman push, do a podman tag for each tag alias that was provided.
  • Then podman push all the tags.

from push-to-registry.

tetchel avatar tetchel commented on May 29, 2024

@kameshsampath, @breucode, @mpreu, @TriplEight who thumbs-upped this issue, let me know if above makes sense for your requirement.

from push-to-registry.

tetchel avatar tetchel commented on May 29, 2024

What's the difference though? Anyway, this is the same image, just with two tags pointing at it. And doesn't really matter which of them is the "parent".

My assumption was that the image would not be tagged more than once when the action started. Then, the action would do the tag duplication.

Maybe it makes more sense to allow buildah-build to output one image with multiple tags, and then have this action take n tags which all must already exist? Then we wouldn't have to add a new input.

from push-to-registry.

TriplEight avatar TriplEight commented on May 29, 2024

It would be natural to build a [list] of tags and pass them to build and then to the push action.
But given that podman or buildah are able to take many --tag for build and (for some reason) just one tag for push command, it points to some inconsistency. But it's fine when you're in shell and can just call push on every tag.

from push-to-registry.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.