https://github.com/noelware/docker-manifest-action
🐻❄️🐳 Simple and tiny GitHub action to link Docker manifests easily.
https://github.com/noelware/docker-manifest-action
actions docker docker-manifest gh-action github-action github-actions
Last synced: 2 months ago
JSON representation
🐻❄️🐳 Simple and tiny GitHub action to link Docker manifests easily.
- Host: GitHub
- URL: https://github.com/noelware/docker-manifest-action
- Owner: Noelware
- License: mit
- Created: 2022-03-13T06:15:22.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T08:04:38.000Z (12 months ago)
- Last Synced: 2024-10-29T09:22:44.186Z (12 months ago)
- Topics: actions, docker, docker-manifest, gh-action, github-action, github-actions
- Language: TypeScript
- Homepage:
- Size: 13.6 MB
- Stars: 24
- Watchers: 2
- Forks: 8
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
### 🐻❄️🐳 `docker-manifest-action`
#### _A tiny, simple GitHub Action to link Docker manifests easily_
**docker-manifest-action** is a simple GitHub action that combines a list of Docker manifests and merges them into one image via the [`docker buildx imagetools`] command.
As of **docker-manifest-action** v1, the API is stable enough to not break at all.
## Usage
```yaml
on:
# ...
jobs:
docker:
runs-on: ubuntu-latest
name: my ci job
steps:
- uses: Noelware/docker-manifest-action@v1
with:
inputs: namespace/image:latest
images: namespace/image:latest-amd64,namespace:image/latest-arm64
push: true
```## Migrating from `v0.4.x`
- `images` was changed to `tags` to better reflect `buildx imagetools create`
- `base-image` was removed, use `inputs` instead
- `extra-images` was removed, use `tags` instead
- `amend` was renamed to `append` to better reflect `buildx imagetools create`## Inputs
### `inputs` (array of strings)
A list of Docker images thdocker buildx imagetoolsat were built from `docker build` into the merged manifests.
Optionally, it can be a comma-separated list (i.e, `image/a:latest-amd64,image/b:latest-amd64`) to create multiple final images from the given [`tags`](#tags-array-of-strings).
### `tags` (array of strings)
A comma-separated list of tags that will be applied into the merged manifest from [`inputs`](#inputs-array-of-strings).
### `push` (`boolean`)
Whether if the action should push the outputs to the Docker registry.
### `annotations` (mapping of `label=value`)
A mapping of annotations to annotate the final, merged manifest.
This is the same syntax as the official Docker GitHub actions handles mappings of `label=value`.
View the [`docker buildx imagetools create --annotation`](https://docs.docker.com/reference/cli/docker/buildx/imagetools/create/#annotation) documentation on how to format each annotation.
### `append` (boolean)
Sets the `--append` flag, which will add new sources to existing manifests.
### `builder` (string)
Sets the `--builder` for the `buildx` command.
## 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:
- Read the [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- Read the [Contributing Guide](./.github/CONTRIBUTING.md)If you read both if you're a new time contributor, now you can do the following:
- [Fork me! *\*♡( ⁎ᵕᴗᵕ⁎ )](https://github.com/Noelware/docker-manifest-action/fork)
- 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 (。>‿‿<。 )"`
- Push it to the fork you created: `git push -u origin some-branch-name`
- Submit a Pull Request and then cry! 。・゚゚・(థ Д థ。)・゚゚・。## License
**docker-manifest-action** is released under the **MIT License** with love and care by [Noelware, LLC.](https://noelware.org).
[`docker buildx imagetools`]: https://docs.docker.com/reference/cli/docker/buildx/imagetools/create