name: Push docker images to internal registry

on:
  # push:
  #   branches: [main]
  #   paths:
  #     - ".github/workflows/docker.yml"
  workflow_run:
    workflows: ["Build Linux Artifacts"]
    types:
      - completed

env:
  VERSION: 0.10.5
jobs:
  build:
    if: ${{ github.event.workflow_run.conclusion == 'success' }}
    runs-on: ubuntu-latest
    timeout-minutes: 120
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Get Version
        run: |
          echo VERSION=$(cat share/const.go  |grep 'const VERSION' | awk '{print $4}' | sed "s/\"//g")-unstable  >> $GITHUB_ENV

      - name: Check Version
        run: echo $VERSION

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v3

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Login to DockerHub
        uses: docker/login-action@v3
        with:
          registry: hub.iqka.com
          username: ${{ secrets.DOCKER_INTERNAL_USER }}
          password: ${{ secrets.DOCKER_INTERNAL_TOKEN }}

      - name: Build Production
        timeout-minutes: 60
        uses: docker/build-push-action@v6
        env:
          DOCKER_CONTENT_TRUST: 1
        with:
          context: ./docker/production
          platforms: linux/amd64
          build-args: |
            VERSION=${{ env.VERSION }} 
            ARCH=amd64
          push: true
          tags: hub.iqka.com/yaoapp/yao:${{ env.VERSION }}-amd64

      - name: Build Production Arm64
        timeout-minutes: 60
        uses: docker/build-push-action@v6
        env:
          DOCKER_CONTENT_TRUST: 1
        with:
          context: ./docker/production
          platforms: linux/arm64
          build-args: |
            VERSION=${{ env.VERSION }} 
            ARCH=arm64
          push: true
          tags: hub.iqka.com/yaoapp/yao:${{ env.VERSION }}-arm64
