/docker-manifest-action

πŸ»β€β„οΈπŸ³ Simple and tiny GitHub action to link Docker manifests easily.

Primary LanguageTypeScriptMIT LicenseMIT

πŸ»β€β„οΈπŸ³ Docker Manifest GitHub Action

Simple and tiny GitHub action to link Docker manifests easily.

docker-manifest-action is a simple and tiny GitHub action to link Docker manifests easily without managing it yourself, just input one or more images and merge multiple manifests into one Docker manifest.

Do note that docker-manifest-action is in beta stages (and might not work properly!), so please create issues so that we can make this production ready!

Usage

on:
  push:
steps:
  - name: Create and push manifest images
    uses: Noelware/docker-manifest-action@master # or use a pinned version in the Releases tab
    with:
      inputs: namespace/image:latest
      images: namespace/image:latest-amd64[,namespace/other-image:latest-arm64]
      push: true

Inputs

Warning -- As of v0.3, base-image has been renamed to inputs and extra-images has been renamed to output. The former inputs will work but will be deprecated into v0.4!

inputs

Type: List

Required: True

A list of input Docker images (that were previously built) as the inputs for the merged manifests. Optionally, comma-seperate to create multiple final images with the same manifest.

Example

inputs: namespace/image:latest-amd64,namespace/image:latest-arm64

images

Type: List or String

Required: True

Comma-seperated list of images that will be applied in the merged manifest from the inputs.

Example

images: namespace/image:latest

push

Type: Boolean

Required: False

Default: false

If the final output image should be pushed or not.

amend

Type: Boolean

Required: False

Default: false

If the action should apply the --amend flag to docker manifest create (and docker manifest push if push is true). This is useful if the action has created a manifest but had errored when creating (or pushing) a merged manifest.

Common Issues

[image] is a manifest list

Add provenance: false when using the docker/build-push-action GitHub action before using Noelware/docker-manifest-action, related issue: #131

Contributing

Thanks for considering contributing to docker-manifest-action! Before you boop your heart out on your keyboard ✧ ─=≑Σ((( ぀‒̀ω‒́)぀, we recommend you to do the following:

If you read both if you're a new time contributor, now you can do the following:

  • Fork me! **β™‘( βŽα΅•α΄—α΅•βŽ οΌ‰
  • Clone your fork on your machine: git clone https://github.com/your-username/docker-manifest-action
  • Create a new branch: git checkout -b some-branch-name
  • Run corepack enable and use yarn for this project
  • BOOP THAT KEYBOARD!!!! ♑┉ˏ͛ (❛ γ€° ❛)ΛŠΛŽβ”‰β™‘
  • Commit your changes onto your branch: git commit -am "add features (q>β€Ώβ€Ώ<q οΌ‰"
  • Push it to the fork you created: git push -u origin some-branch-name
  • Submit a Pull Request and then cry! qο½₯゚゚ο½₯(ΰ°₯ Π” ΰ°₯。)ο½₯゚゚ο½₯q

License

docker-manifest-action is released under the MIT License with love by Noelware! πŸ»β€β„οΈπŸ’œ