https://github.com/infinite-automations/full-build-push-action
Simple github action that uses various docker actions to build and publish multiarch container images with meaningful tags.
https://github.com/infinite-automations/full-build-push-action
container-builder github-actions multiarch
Last synced: about 2 months ago
JSON representation
Simple github action that uses various docker actions to build and publish multiarch container images with meaningful tags.
- Host: GitHub
- URL: https://github.com/infinite-automations/full-build-push-action
- Owner: infinite-automations
- License: mit
- Created: 2021-10-26T00:45:28.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-12-19T18:41:22.000Z (3 months ago)
- Last Synced: 2025-12-21T16:21:46.909Z (3 months ago)
- Topics: container-builder, github-actions, multiarch
- Homepage:
- Size: 24.4 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# full-build-push-action
Simple github action that uses various docker actions to build and publish multiarch container images with meaningful tags.
`full-build-push-action` just act like a wrapper to include one action instead of 4 or 5.
There's no special code included with some additional content.
Included actions:
- [docker/setup-qemu-action](https://github.com/marketplace/actions/docker-setup-qemu)
- [docker/setup-buildx-action](https://github.com/marketplace/actions/docker-setup-buildx)
- [docker/login-action](https://github.com/marketplace/actions/docker-login)
- [docker/metadata-action](https://github.com/marketplace/actions/docker-metadata-action)
- [docker/build-push-action](https://github.com/marketplace/actions/build-and-push-docker-images)
## configuration / inputs
| key | description | default | required |
| ------------------- | ----------------------------------------------------------------- | ------------------------------------ | -------- |
| context | build's context is the set of files located in the specified path | "." | no |
| file | path to the Dockerfile | ./Dockerfile | no |
| checkout-deploy-key | "" | "" | no |
| registry | container registry | ghcr.io | yes |
| user | container registry user | ${{ github.actor }} | yes |
| token | container registry token | none | yes |
| platforms | container target platforms | linux/amd64,linux/arm/v7,linux/arm64 | no |
## examples
### without semantic release
```yaml
name: container build
on:
push:
tags:
- '**'
branches:
- '**'
schedule:
- cron: '0 0 * * *'
jobs:
container-build:
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- name: checkout
uses: actions/checkout@v2
- name: container-build
uses: infinite-automations/full-build-push-action@main
with:
token: "${{ secrets.GITHUB_TOKEN }}"
```
### with semantic release
container-build.yml
```yaml
name: container build
on:
push:
tags:
- '**'
branches:
- '**'
- '!master'
schedule:
- cron: '0 0 * * *'
jobs:
container-build:
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- name: checkout
uses: actions/checkout@v2
- name: container-build
uses: infinite-automations/full-build-push-action@main
with:
token: "${{ secrets.GITHUB_TOKEN }}"
checkout-deploy-key: "${{ secrets.COMMIT_KEY }}"
```
release.yml
```yaml
name: release
on:
push:
branches:
- master
- main
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
steps:
- name: checkout
uses: actions/checkout@v4
with:
ssh-key: "${{ secrets.COMMIT_KEY }}"
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}