# 参考
# Build and push Docker images
# https://github.com/marketplace/actions/build-and-push-docker-images
# Docker Metadata action
# https://github.com/marketplace/actions/docker-metadata-action
# Multi-platform image with GitHub Actions
# https://docs.docker.com/build/ci/github-actions/multi-platform/

name: Docker Publish

#on:
#  release:
#    types: [published]
#  push:
#    branch: ['master']
on:
  push:
    tags:
      - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10

jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3

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

      - name: Docker meta
        id: meta
        uses: docker/metadata-action@v4
        with:
            images: mouday/domain-admin

      - name: Login to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Checkout
        uses: actions/checkout@v3
        with:
          repository: 'mouday/domain-admin-web'
          ref: 'dist'
          token: ${{ secrets.GH_PAT }}
          path: 'domain_admin/public'

      - name: Checkout
        uses: actions/checkout@v3
        with:
          repository: 'mouday/domain-admin-mini'
          ref: 'dist'
          token: ${{ secrets.GH_PAT }}
          path: 'domain_admin/public/m'

      # remove .git
      - name: Remove .git Dir
        run: rm -rf '.git' 'domain_admin/public/.git' 'domain_admin/public/m/.git'

      - name: Build Docker Image
        uses: docker/build-push-action@v2
        if: startsWith(github.ref, 'refs/tags/')
        with:
          context: .
          platforms: linux/amd64,linux/arm64
          push: true
          tags: ${{ steps.meta.outputs.tags }}
          labels: ${{ steps.meta.outputs.labels }}
