name: Build and Push to ACR

on:
  push:
    ### Production
    branches: ["master"]

env:
  REGION_ID: cn-shenzhen
  REGISTRY: mmc-registry.cn-shenzhen.cr.aliyuncs.com
  NAMESPACE: sharefly
  IMAGE: web
  TAG: ${{ github.sha }}

  ACR_EE_REGISTRY: mmc-registry.cn-shenzhen.cr.aliyuncs.com
  ACR_EE_INSTANCE_ID: cri-yhk5zgfc2v1sia6l
  ACR_EE_NAMESPACE: sharefly
  ACR_EE_IMAGE: web
  ACR_EE_TAG: ${{ github.sha }}
  JAVA_VERSION: "8"
  GITLAB_URL: https://oauth2:MjVJKxB7m4tCy7symBzn@git.mmcuav.cn/iuav/csf-web.git

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    ### Production
    environment: prod
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Login to ACR EE with the AccessKey pair
        uses: aliyun/acr-login@v1
        with:
          login-server: "https://${{ env.ACR_EE_REGISTRY }}"
          region-id: "${{ env.REGION_ID }}"
          username: "QD--KeBiTeHangKong@1354706964800968"
          password: "MMC@2023&ACR"
          instance-id: "${{ env.ACR_EE_INSTANCE_ID }}"

      - name: Build and push image to ACR EE
        run: |
          docker build -t "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG" .
          docker push "$ACR_EE_REGISTRY/$ACR_EE_NAMESPACE/$ACR_EE_IMAGE:$TAG"
      ### Production
      - name: Kustomize Set Image
        run: |-
          cd kustomization/overlays/prod
          curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"  | bash /dev/stdin 3.8.6
          ./kustomize edit set image REGISTRY/NAMESPACE/IMAGE:TAG=$REGISTRY/$NAMESPACE/$IMAGE:$TAG
      ### Production
      - name: Commit and Push
        run: |
          git config user.name "Chuck"
          git config user.email "Chuck@users.noreply.github.com"
          git remote set-url origin "$GITLAB_URL"
          git commit -am "generated Image update"
          git push origin "master"
