GithubHelp home page GithubHelp logo

noelware / docker-manifest-action Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 8.0 9.51 MB

๐Ÿปโ€โ„๏ธ๐Ÿณ Simple and tiny GitHub action to link Docker manifests easily.

License: MIT License

TypeScript 73.14% Dockerfile 3.41% Nix 13.41% JavaScript 10.04%
actions docker docker-manifest gh-action github-action github-actions

docker-manifest-action's People

Contributors

auguwu avatar dependabot[bot] avatar makeshift avatar miki725 avatar pl4nty avatar prmoore77 avatar renovate-bot avatar renovate[bot] avatar vavsab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

docker-manifest-action's Issues

`inputs` and `images` are backwards?

According to the README, inputs should be the final name of your images (IE the things that are docker manifest push'd, and images should be the list of images that you're merging to create the inputs.

But when running the action, it appears they're the other way around. Given the following input:

- uses: Noelware/[email protected]
  with:
    inputs: test:master
    images: test:77762fb4d2eb086d2bc806c3aaa9f35db2f08801-x64,test:77762fb4d2eb086d2bc806c3aaa9f35db2f08801-arm64

it works correctly, which is the opposite of what the Readme says.

Images to Merge => test:ea656058259dade7f6d2f4cd290b45ae74a44ae5-x64, test:ea656058259dade7f6d2f4cd290b45ae74a44ae5-arm64
  Base Images     => test:master
  Amend?          => No
  Push?           => Yes
Creating manifest for image [test:master] with [test:ea656058259dade7f6d2f4cd290b45ae74a44ae5-x64, test:ea656058259dade7f6d2f4cd290b45ae74a44ae5-arm64] outputs
/usr/bin/docker manifest create test:master test:ea656058259dade7f6d2f4cd290b45ae74a44ae5-x64 test:ea656058259dade7f6d2f4cd290b45ae74a44ae5-arm64

Also, there are several references to an outputs input which doesn't exist.

`docker manifest push` does not have the argument `--amend`

I noticed that docker manifest push had --amend added at some point in #131, but the push command doesn't take an --amend argument.

/usr/bin/docker manifest push --amend 099538280162.dkr.ecr.eu-west-2.amazonaws.com/iea/shared/cr/gh/bld/psh/test:35f67dba96f940d87fd634a849cc2376b2a5cdc0
unknown flag: --amend
See 'docker manifest push --help'.

New release?

Awesomely useful action!

Please create a new release tag with #98.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

devcontainer
.devcontainer/devcontainer.json
  • ghcr.io/devcontainers/features/sshd 1
dockerfile
playground/node.Dockerfile
github-actions
.github/workflows/ESLint.yml
  • actions/checkout v4
  • actions/setup-node v4
  • auguwu/node-pm-action v1.0.1
.github/workflows/Playground.yaml
  • actions/checkout v4
  • docker/setup-buildx-action v3
  • docker/setup-qemu-action v3
  • docker/login-action v3
  • docker/build-push-action v5
  • docker/build-push-action v5
npm
package.json
  • @actions/core 1.10.1
  • @actions/exec 1.1.1
  • @noelware/utils 2.5.1
  • @augu/eslint-config 5.2.4
  • @augu/tsconfig 1.2.0
  • @types/eslint 8.56.10
  • @types/node 20.12.12
  • @typescript-eslint/eslint-plugin 7.9.0
  • @typescript-eslint/parser 7.9.0
  • @vercel/ncc 0.38.1
  • colorette 2.0.20
  • eslint 9.2.0
  • eslint-config-prettier 9.1.0
  • eslint-formatter-codeframe 7.32.1
  • eslint-plugin-perfectionist 2.10.0
  • globby 14.0.1
  • prettier 3.2.5
  • rimraf 5.0.7
  • tsx 4.10.4
  • typescript 5.4.5
  • vitest 1.6.0
  • yarn 4.2.2

  • Check this box to trigger a request for Renovate to run again on this repository

Question: base-image and extra-images works as removed rather than deprecated

Hello, thank you for developing this great action.

v0.3.0 has been released, but applying this release without updating with will result in an error.
The job log where this is occurring is following: https://github.com/tomacheese/my-pixiv/actions/runs/4021878692/jobs/6911501009

Deprecations rather than Removed, so I assumed these would work with the update applied without any changes.
Is this behavior expected?

P.S. I have read the action.yml and I don't know why this error occurs even though required: false is specified.
Well, I am concerned that required: true is specified in src/input.ts.


Also, if possible, when configured deprecated inputs, please mention this in the deprecationMessage, so that appropriate warnings are displayed and easily noticed.

https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#inputsinput_iddeprecationmessage

I look forward to your reply.

Allow multiple tags for base image

It would be nice to be able to set multiple outputs for the base-image.

An example use-case would be tagging a final image as both latest and <sha hash>.

Something along the lines of:

      - name: Create and push manifest images
        uses: Noelware/[email protected]
        with:
          base-image: makeshift27015/nginx-alpine-amplify:b76a0d5602f583fb28d44d076c37818c9fdcc11d,makeshift27015/nginx-alpine-amplify:master,makeshift27015/nginx-alpine-amplify:latest
          extra-images: ${{ needs.vars.outputs.image_list }}
          push: true

My current workaround is to use regctl to retag after creating the manifest with your action (which is awesome, by the way!):

      - name: Retag
        run: |
          curl -sL https://github.com/regclient/regclient/releases/latest/download/regctl-linux-amd64 >regctl
          chmod 755 regctl
          tags="${{ needs.vars.outputs.final_image_tags }}"
          IFS=",";for line in $tags; do
            echo "Retagging ${{ needs.vars.outputs.final_image_name }} to ${line}"
            ./regctl image copy ${{ needs.vars.outputs.final_image_name }} ${line}
          done

Manifest creation fails

Hello.
Thank you for your workaround with docker containers merging with manifest.

Lately it start fail when trying to create manifest. Example output can be found here: https://github.com/PurpleI2P/i2pd/actions/runs/4001302421/jobs/6867928655

/usr/bin/docker manifest create --amend purplei2p/i2pd:latest purplei2p/i2pd:latest-amd64 purplei2p/i2pd:latest-i386 purplei2p/i2pd:latest-arm64 purplei2p/i2pd:latest-armv7
docker.io/purplei2p/i2pd:latest-amd64 is a manifest list

How can we fix this?

Output image digests

Thanks for this useful action. I use cosign to sign manifests by tag, but it's recommended to use the digest too eg tag@digest. Could the manifest digest be added as an action output?

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.