Adjust Github Action: Docker Publish

1. Not only publish Docker images when new release tags are created but
   on every push to master, since release frequency is so low.

2. Use newer versions of the various actions (setup-buildx-action,
   login-action, metadata-action, ...) to suppress some deprecation
   warnings see:
   https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
This commit is contained in:
Niklas Gruhn
2022-11-14 23:19:07 +01:00
parent 68b3c480c9
commit b3df81c143

View File

@@ -2,10 +2,10 @@ name: Docker Publish
on:
push:
tags: [ 'v*.*.*' ]
env:
IMAGE_NAME: mjt128/scryer-prolog
branches:
- 'master'
tags:
- 'v*.*.*'
jobs:
build:
@@ -18,33 +18,36 @@ jobs:
# Workaround: https://github.com/docker/build-push-action/issues/461
- name: Setup Docker buildx
uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf
# https://github.com/docker/setup-buildx-action
uses: docker/setup-buildx-action@v2.2.1
# Login against Docker registry
# https://github.com/docker/login-action
- name: Log into registry
uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
# https://github.com/docker/login-action
uses: docker/login-action@v2.1.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# Extract Docker image tag from git tag. E.g. if git tag is "v0.19.1" then use
# Docker image tag "0.19.1". Tag "latest" is automatically synced with newest
# version.
# https://github.com/docker/metadata-action
# Docker image tag "0.19.1". The "latest" tag reflects the most recent build on
# master.
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
# https://github.com/docker/metadata-action
uses: docker/metadata-action@v4.1.1
with:
images: docker.io/${{ env.IMAGE_NAME }}
images: docker.io/${{ secrets.DOCKERHUB_USERNAME }}/scryer-prolog
tags: |
type=semver,pattern={{version}}
type=raw,value=latest,enable={{is_default_branch}}
# type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'master') }}
# Build and push Docker image with Buildx
# https://github.com/docker/build-push-action
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
# https://github.com/docker/build-push-action
uses: docker/build-push-action@v3.2.0
with:
context: .
push: true