diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 63898296..30f417c3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,8 +1,6 @@ name: Docker builds on: - schedule: - - cron: "0 10 * * *" # everyday at 10am pull_request: branches: master push: @@ -53,14 +51,11 @@ jobs: id: prepare run: | DOCKER_PLATFORMS=${{ matrix.target_platform }} + VERSION=edge - if [[ $GITHUB_REF == refs/tags/* ]]; then VERSION=${GITHUB_REF#refs/tags/v} fi - if [ "${{ github.event_name }}" = "schedule" ]; then - VERSION=nightly - fi OUTPUT_PLATFORM=$(echo ${{ matrix.target_platform }} | sed 's/\//-/g') echo ::set-output name=output_platform::${OUTPUT_PLATFORM} @@ -107,13 +102,28 @@ jobs: run: | echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin - - name: Create Manifest + - name: Create Manifests run: | 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-arm-v7-${GITHUB_SHA::8}" DOCKER_IMAGES="${DOCKER_IMAGES} ${DOCKER_IMAGE}:linux-arm-v6-${GITHUB_SHA::8}" - docker manifest create ${DOCKER_IMAGE}:test ${DOCKER_IMAGES} - docker manifest push ${DOCKER_IMAGE}:test - + VERSION=edge + 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