nginx-ktls/.github/workflows/docker-build.yaml
2021-01-25 19:05:03 +01:00

38 lines
1.6 KiB
YAML

name: "Build and push Docker image"
on:
push:
branches: ["*"]
tags: ["*"]
schedule:
- cron: "0 0 * * 0"
jobs:
main:
runs-on: "ubuntu-20.04"
steps:
- name: "Checkout"
uses: "actions/checkout@v2"
- name: "Prepare build environment; build; push to Docker Hub, RedHat Quay"
run: |
IMAGE_BUILD_CONTEXT='.'
IMAGE_BUILD_DOCKERFILE='Dockerfile'
IMAGE_BUILD_PLATFORMS='linux/amd64'
IMAGE_NAME="$(echo '${{ github.repository }}' | sed 's,.*/,,g' | tr '[A-Z]' '[a-z]')"
IMAGE_VERSION="$(echo '${{ github.ref }}' | sed -e 's,.*/\(.*\),\1,')"
[ "$IMAGE_VERSION" == 'master' ] && IMAGE_VERSION='latest'
[ "$IMAGE_VERSION" == 'main' ] && IMAGE_VERSION='latest'
docker buildx create --use
IMAGE_REGISTRY='docker.io'
echo '${{ secrets.DOCKER_HUB_PASSWORD }}' | docker login --username '${{ secrets.DOCKER_HUB_USERNAME }}' --password-stdin "$IMAGE_REGISTRY"
docker buildx build --push --platform "$IMAGE_BUILD_PLATFORMS" --progress plain --tag "$IMAGE_REGISTRY/${{ secrets.DOCKER_HUB_USERNAME }}/$IMAGE_NAME:$IMAGE_VERSION" --file "$IMAGE_BUILD_DOCKERFILE" "$IMAGE_BUILD_CONTEXT"
IMAGE_REGISTRY='quay.io'
echo '${{ secrets.REDHAT_QUAY_PASSWORD }}' | docker login --username '${{ secrets.REDHAT_QUAY_USERNAME }}' --password-stdin "$IMAGE_REGISTRY"
docker buildx build --push --platform "$IMAGE_BUILD_PLATFORMS" --progress plain --tag "$IMAGE_REGISTRY/${{ secrets.REDHAT_QUAY_USERNAME }}/$IMAGE_NAME:$IMAGE_VERSION" --file "$IMAGE_BUILD_DOCKERFILE" "$IMAGE_BUILD_CONTEXT"