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
- docker/setup-buildx-action
- docker/login-action
- docker/metadata-action
- docker/build-push-action
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 |
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 }}"
container-build.yml
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
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 }}