# https://github.com/actions/starter-workflows/blob/main/ci/python-publish.yml
# https://docs.pypi.org/trusted-publishers/adding-a-publisher/
name: Upload Python Package

#on:
#  release:
#    types: [published]

#on:
#  push:
#    branch: ['master']

on:
  push:
    tags:
      - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10

permissions:
  contents: read

jobs:
  deploy:

    runs-on: ubuntu-latest
    environment:
      name: pypi
      url: https://pypi.org/p/domain-admin

    permissions:
      # IMPORTANT: this permission is mandatory for trusted publishing
      id-token: write
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Set up Python
        uses: actions/setup-python@v3
        with:
          python-version: '3.x'

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install setuptools wheel twine

      # 拉取前端最新的dist代码
      - 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
        run: |
            python setup.py sdist bdist_wheel --python-tag py2.py3
            twine check dist/*

#      - name: Build and publish
#        if: startsWith(github.ref, 'refs/tags/')
#
#        env:
#          TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
#          TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
#        run: |
#            python setup.py sdist bdist_wheel --python-tag py2.py3
#            twine check dist/*
#            twine upload dist/*
      # Publishing with a Trusted Publisher
      # https://docs.pypi.org/trusted-publishers/using-a-publisher/
      # https://github.com/pypa/gh-action-pypi-publish/
      - name: Publish package distributions to PyPI
        uses: pypa/gh-action-pypi-publish@release/v1
