name: Sync docker images of minikube to Alibaba Cloud
on:
  workflow_dispatch:
  schedule:
    # every day at 7am & 7pm pacific
    - cron: "0 2,14 * * *"
env:
  GOPROXY: https://proxy.golang.org
  GO_VERSION: '1.22.5'
permissions:
  contents: read

jobs:
  sync-images:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./image-syncer
    steps:
      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
        with:
          repository: denverdino/image-syncer
          path: ./image-syncer

      - name: Set up Go
        uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32
        with:
          go-version: ${{env.GO_VERSION}}
      - name: Build
        run: make

      - name: Synchronize images to Alibaba Cloud Container Registry Service
        env:
          ACR_USER: ${{ secrets.ALIBABA_CLOUD_ACR_USER }}
          ACR_PASSWORD: ${{ secrets.ALIBABA_CLOUD_ACR_PASSWORD }}
          DOCKER_HUB_USER: ${{ secrets.DOCKER_HUB_USER }}
          DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}

        run: ./image-syncer --auth=auth.json --images=images.json --days=2 --proc=2
