Skip to content

Workflow file for this run

name: Publish Management Center released version image
on:
push:
tags:
- "v*.*"
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set Release Version
run: echo "RELEASE_VERSION=${GITHUB_REF:11}" >> $GITHUB_ENV
- name: Print Release Version
run: echo ${{ env.RELEASE_VERSION }}
- name: Set up QEMU
uses: docker/[email protected]
- name: Set up Docker Buildx
uses: docker/[email protected]
with:
version: v0.8.2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Compute tags
run: |
CURRENT_TAG=${GITHUB_REF:10}
TAGS="hazelcast/management-center:${{ env.RELEASE_VERSION }}"
LATEST_TAG=$(git tag --list --sort=refname "v*" | grep -E -v 'v*BETA*' | tail -n 1)
if [[ "$LATEST_TAG" = "${CURRENT_TAG}" ]]; then
TAGS="${TAGS},hazelcast/management-center:latest"
echo "Latest tag added: ${TAGS}"
echo "PUSH_LATEST=yes" >> $GITHUB_ENV
fi
MINOR_TAG=${CURRENT_TAG:0:4}
if [[ "$MINOR_TAG" != "${CURRENT_TAG}" ]]; then
LATEST_TAG_IN_MINOR_LINE=$(git tag --list --sort=refname "${MINOR_TAG}*" | grep -E -v 'v*BETA*' | tail -n 1)
if [[ "$LATEST_TAG_IN_MINOR_LINE" = "${CURRENT_TAG}" ]]; then
TAGS="${TAGS},hazelcast/management-center:${MINOR_TAG:1}"
echo "Latest tag in minor line added: ${TAGS}"
fi
fi
echo "TAGS=${TAGS}" >> $GITHUB_ENV
- name: Print docker image tags
run: echo ${{ env.TAGS }}
- name: Build and push docker image
uses: docker/build-push-action@v4
with:
context: .
platforms: linux/amd64,linux/arm64,linux/s390x
tags: ${{ env.TAGS }}
push: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Update Docker Hub Description of Management Center image
if: env.PUSH_LATEST == 'yes'
uses: peter-evans/dockerhub-description@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
repository: hazelcast/management-center
short-description: Hazelcast Management Center Docker Image
readme-filepath: ./README.md