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 }}