Skip to content

[DOP-17436] add hive type (#67) #99

[DOP-17436] add hive type (#67)

[DOP-17436] add hive type (#67) #99

name: Worker docker image
on:
push:
branches:
- develop
tags:
- '[0-9]+.[0-9]+.[0-9]+'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
release:
name: Build & push worker image to Dockerhub
runs-on: ubuntu-latest
if: github.repository == 'MobileTeleSystems/syncmaster' # prevent running on forks
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Checkout code
uses: actions/checkout@v4
- name: Set tag
id: set_tag
run: |
if [[ "${{ github.ref_type }}" == "branch" && "${{ github.ref_name }}" == "develop" ]]; then
echo "TAG=mtsrus/syncmaster-worker:develop" >> $GITHUB_ENV
elif [[ "${{ github.ref_type }}" == "tag" ]]; then
echo "TAG=mtsrus/syncmaster-worker:latest,mtsrus/syncmaster-worker:${{ github.ref_name }}" >> $GITHUB_ENV
fi
- name: Build worker image
uses: docker/build-push-action@v6
with:
tags: ${{ env.TAG }}
context: .
target: prod
file: docker/Dockerfile.worker
pull: true
push: true
cache-to: type=inline
cache-from: mtsrus/syncmaster-worker:develop
platforms: |
linux/amd64
linux/arm64/v8
provenance: mode=max
- name: Convert README to Markdown
uses: docker://pandoc/core:2.9
with:
args: >-
--output=README.md
--from=rst
--to=gfm
--wrap=none
README.rst
- name: Update DockerHub Description
uses: peter-evans/dockerhub-description@v4
if: github.ref_type == 'tag'
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
# this requires token with read+write+delete permissions. read+write is not enough!
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: mtsrus/syncmaster-worker
short-description: ${{ github.event.repository.description }}
enable-url-completion: true