Updated CI action

This commit is contained in:
Alexey Pustovalov 2020-09-08 15:01:39 -04:00
parent b35e963c39
commit a61356ea43

View File

@ -6,10 +6,10 @@ on:
- published - published
push: push:
branches: branches:
- 3.0 - '3.0'
- 4.0 - '4.0'
- 5.0 - '5.0'
- trunk - 'trunk'
paths-ignore: paths-ignore:
- '.env*' - '.env*'
- 'docker-compose*.yaml' - 'docker-compose*.yaml'
@ -23,7 +23,7 @@ defaults:
jobs: jobs:
build: build:
env: env:
LATEST_BRANCH: "${{ github.event.repository.master_branch }}" LATEST_BRANCH: "${{ github.event.repository.default_branch }}"
DOCKER_REPOSITORY: "zabbix" DOCKER_REPOSITORY: "zabbix"
strategy: strategy:
fail-fast: false fail-fast: false
@ -89,8 +89,7 @@ jobs:
fi fi
if [ "${{ matrix.os }}" == "centos" ]; then if [ "${{ matrix.os }}" == "centos" ]; then
#DOCKER_PLATFORM="linux/amd64,linux/arm64,linux/ppc64le" DOCKER_PLATFORM="linux/amd64,linux/arm64,linux/ppc64le"
DOCKER_PLATFORM="linux/amd64"
fi fi
if [ "${{ matrix.build }}" == "java-gateway" ]; then if [ "${{ matrix.build }}" == "java-gateway" ]; then
@ -109,9 +108,13 @@ jobs:
GIT_BRANCH="${{ github.ref }}" GIT_BRANCH="${{ github.ref }}"
GIT_BRANCH=${GIT_BRANCH:11} GIT_BRANCH=${GIT_BRANCH:11}
echo "::warning Branch - ${GIT_BRANCH}" echo "::debug::Branch - ${GIT_BRANCH}"
TAGS_ARRAY+=("$IMAGE_NAME:${{ matrix.os }}-${GIT_BRANCH}") if [ "${GIT_BRANCH}" == "trunk" ]; then
TAGS_ARRAY+=("$IMAGE_NAME:${{ matrix.os }}-${GIT_BRANCH}")
else
TAGS_ARRAY+=("$IMAGE_NAME:${{ matrix.os }}-${GIT_BRANCH}-latest")
fi
if [ "${{ matrix.os }}" == "alpine" ] && [ "${LATEST_BRANCH}" == "${GIT_BRANCH}" ]; then if [ "${{ matrix.os }}" == "alpine" ] && [ "${LATEST_BRANCH}" == "${GIT_BRANCH}" ]; then
TAGS_ARRAY+=("$IMAGE_NAME:latest") TAGS_ARRAY+=("$IMAGE_NAME:latest")
@ -123,7 +126,7 @@ jobs:
TAGS=$(printf -- "--tag %s " "${TAGS_ARRAY[@]}") TAGS=$(printf -- "--tag %s " "${TAGS_ARRAY[@]}")
echo "::warning Tags - ${TAGS}" echo "::debug::Tags - ${TAGS}"
echo ::set-output name=image_name::${IMAGE_NAME} echo ::set-output name=image_name::${IMAGE_NAME}
echo ::set-output name=image_tag_versions::$(printf -- "|%s" "${TAGS_ARRAY[@]}") echo ::set-output name=image_tag_versions::$(printf -- "|%s" "${TAGS_ARRAY[@]}")
@ -134,7 +137,7 @@ jobs:
--file ./${{ matrix.build }}/${{ matrix.os }}/Dockerfile ./${{ matrix.build }}/${{ matrix.os }} --file ./${{ matrix.build }}/${{ matrix.os }}/Dockerfile ./${{ matrix.build }}/${{ matrix.os }}
- name: Prepare environment (release) - name: Prepare environment (release)
if: github.event_name == 'release' && github.event.action == 'created' if: github.event_name == 'release' && github.event.action == 'published'
id: prepare_release id: prepare_release
run: | run: |
TAGS_ARRAY=() TAGS_ARRAY=()
@ -144,7 +147,7 @@ jobs:
RELEASE_VERSION=${RELEASE_VERSION:10} RELEASE_VERSION=${RELEASE_VERSION:10}
GIT_BRANCH=${RELEASE_VERSION%.*} GIT_BRANCH=${RELEASE_VERSION%.*}
echo "::warning Release version ${RELEASE_VERSION}. Branch ${GIT_BRANCH}" echo "::debug::Release version ${RELEASE_VERSION}. Branch ${GIT_BRANCH}"
TAGS_ARRAY+=("$IMAGE_NAME:${{ matrix.os }}-${RELEASE_VERSION}") TAGS_ARRAY+=("$IMAGE_NAME:${{ matrix.os }}-${RELEASE_VERSION}")
@ -170,6 +173,8 @@ jobs:
BUILDX_ARGS="${{ steps.prepare_push.outputs.buildx_args }}" BUILDX_ARGS="${{ steps.prepare_push.outputs.buildx_args }}"
elif [ ! -z "${{ steps.prepare_release.outputs.buildx_args }}" ]; then elif [ ! -z "${{ steps.prepare_release.outputs.buildx_args }}" ]; then
BUILDX_ARGS="${{ steps.prepare_release.outputs.buildx_args }}" BUILDX_ARGS="${{ steps.prepare_release.outputs.buildx_args }}"
else
exit 1
fi fi
docker buildx build --cache-to "type=local,dest=/tmp/.buildx-cache" \ docker buildx build --cache-to "type=local,dest=/tmp/.buildx-cache" \
@ -195,20 +200,20 @@ jobs:
fi fi
docker buildx build --cache-from "type=local,src=/tmp/.buildx-cache" \ docker buildx build --cache-from "type=local,src=/tmp/.buildx-cache" \
--output "type=image,push=false" \ --output "type=image,push=${{ secrets.AUTO_PUSH_IMAGES }}" \
${BUILDX_ARGS} ${BUILDX_ARGS}
- name: Inspect images - name: Inspect images
run: | run: |
echo "::warning push - ${{ steps.prepare_push.outputs.buildx_args }}" echo "::debug::push - ${{ steps.prepare_push.outputs.buildx_args }}"
echo "::warning release - ${{ steps.prepare_release.outputs.buildx_args }}" echo "::debug::release - ${{ steps.prepare_release.outputs.buildx_args }}"
if [ ! -z "${{ steps.prepare_push.outputs.image_tag_versions }}" ]; then if [ ! -z "${{ steps.prepare_push.outputs.image_tag_versions }}" ]; then
IMAGE_TAG_VERSIONS="${{ steps.prepare_push.outputs.image_tag_versions }}" IMAGE_TAG_VERSIONS="${{ steps.prepare_push.outputs.image_tag_versions }}"
echo "::warning tags push raw - $IMAGE_TAG_VERSIONS" echo "::debug::tags push raw - $IMAGE_TAG_VERSIONS"
elif [ ! -z "${{ steps.prepare_release.outputs.image_tag_versions }}" ]; then elif [ ! -z "${{ steps.prepare_release.outputs.image_tag_versions }}" ]; then
IMAGE_TAG_VERSIONS="${{ steps.prepare_release.outputs.image_tag_versions }}" IMAGE_TAG_VERSIONS="${{ steps.prepare_release.outputs.image_tag_versions }}"
echo "::warning tags release raw - $IMAGE_TAG_VERSIONS" echo "::debug::tags release raw - $IMAGE_TAG_VERSIONS"
fi fi
IMAGE_TAG_VERSIONS=${IMAGE_TAG_VERSIONS%%+(|)} IMAGE_TAG_VERSIONS=${IMAGE_TAG_VERSIONS%%+(|)}
@ -217,4 +222,4 @@ jobs:
for version in ${IMAGE_TAG_VERSIONS[@]}; do for version in ${IMAGE_TAG_VERSIONS[@]}; do
echo "Checking \"$version\"... " echo "Checking \"$version\"... "
docker buildx imagetools inspect $version docker buildx imagetools inspect $version
done done