1
Fork 0

Push correct tags to dockerhub

This commit is contained in:
Viktor Strate Kløvedal 2021-03-28 23:32:41 +02:00 committed by GitHub
parent aa7588145f
commit 804b4576ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 10 deletions

View File

@ -1,8 +1,6 @@
name: Docker builds name: Docker builds
on: on:
schedule:
- cron: "0 10 * * *" # everyday at 10am
pull_request: pull_request:
branches: master branches: master
push: push:
@ -53,14 +51,11 @@ jobs:
id: prepare id: prepare
run: | run: |
DOCKER_PLATFORMS=${{ matrix.target_platform }} DOCKER_PLATFORMS=${{ matrix.target_platform }}
VERSION=edge VERSION=edge
if [[ $GITHUB_REF == refs/tags/* ]]; then if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/v} VERSION=${GITHUB_REF#refs/tags/v}
fi fi
if [ "${{ github.event_name }}" = "schedule" ]; then
VERSION=nightly
fi
OUTPUT_PLATFORM=$(echo ${{ matrix.target_platform }} | sed 's/\//-/g') OUTPUT_PLATFORM=$(echo ${{ matrix.target_platform }} | sed 's/\//-/g')
echo ::set-output name=output_platform::${OUTPUT_PLATFORM} echo ::set-output name=output_platform::${OUTPUT_PLATFORM}
@ -107,13 +102,28 @@ jobs:
run: | run: |
echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
- name: Create Manifest - name: Create Manifests
run: | run: |
DOCKER_IMAGES="${DOCKER_IMAGE}:linux-amd64-${GITHUB_SHA::8}" DOCKER_IMAGES="${DOCKER_IMAGE}:linux-amd64-${GITHUB_SHA::8}"
DOCKER_IMAGES="${DOCKER_IMAGES} ${DOCKER_IMAGE}:linux-arm64-${GITHUB_SHA::8}" DOCKER_IMAGES="${DOCKER_IMAGES} ${DOCKER_IMAGE}:linux-arm64-${GITHUB_SHA::8}"
DOCKER_IMAGES="${DOCKER_IMAGES} ${DOCKER_IMAGE}:linux-arm-v7-${GITHUB_SHA::8}" DOCKER_IMAGES="${DOCKER_IMAGES} ${DOCKER_IMAGE}:linux-arm-v7-${GITHUB_SHA::8}"
DOCKER_IMAGES="${DOCKER_IMAGES} ${DOCKER_IMAGE}:linux-arm-v6-${GITHUB_SHA::8}" DOCKER_IMAGES="${DOCKER_IMAGES} ${DOCKER_IMAGE}:linux-arm-v6-${GITHUB_SHA::8}"
docker manifest create ${DOCKER_IMAGE}:test ${DOCKER_IMAGES} VERSION=edge
docker manifest push ${DOCKER_IMAGE}:test if [[ $GITHUB_REF == refs/tags/* ]]; then
VERSION=${GITHUB_REF#refs/tags/v}
fi
TAGS=("${VERSION}")
if [[ $VERSION =~ ^(([0-9]{1,3})\.[0-9]{1,3})\.[0-9]{1,3}$ ]]; then
VERSION_MINOR=${BASH_REMATCH[1]}
VERSION_MAJOR=${BASH_REMATCH[2]}
TAGS+=("${VERSION_MAJOR}", "${VERSION_MINOR}")
fi
for TAG in ${TAGS[*]}; do
echo "Creating tag: ${TAG}"
docker manifest create ${DOCKER_IMAGE}:${TAG} ${DOCKER_IMAGES}
docker manifest push ${DOCKER_IMAGE}:${TAG}
done