name: BuildImage

on:
  push:
#    branches:
#      - main
    tags:
      - '*'

jobs:
  build-image:
    runs-on: ubuntu-latest
    container:
      # 使用这个镜像,不然Docker无法打包镜像
      image: catthehacker/ubuntu:act-latest

    steps:
      - name: Setup Golang
        uses: actions/setup-go@v3
        with:
          go-version: '>=1.21.0'
          cache: false

      - name: Checkout Code
        uses: actions/checkout@v3

      - name: Gen Tags
        id: gen_tags
        uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
        with:
          images: gitee.ltd/lxh/go-wxhelper
          tags: |
            type=ref,event=branch
            type=ref,event=tag

      - name: Print Tags
        run: |
          echo "${{ steps.gen_tags.outputs.tags }}"
          echo "----------------- labels -----------------"
          echo "${{ steps.meta.outputs.labels }}"

      - name: Login to Repository
        uses: docker/login-action@v2
        with:
          registry: gitee.ltd
          username: ${{ secrets.USERNAME }}
          password: ${{ secrets.PASSWORD }}

      - name: Build image
        uses: docker/build-push-action@v2
        with:
          push: true
          tags: ${{ steps.gen_tags.outputs.tags }}
          labels: ${{ steps.gen_tags.outputs.labels }}