name: Publish Python to PyPI and TestPyPI
on: push
jobs:
  build-n-publish:
    name: Build and publish Python to PyPI and TestPyPI
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
        with:
          fetch-depth: 0
      - name: Set up Python 3.10
        uses: actions/setup-python@v4
        with:
          python-version: "3.10"
      - name: Install pypa/build
        run: >-
          python -m
          pip install
          build
          --user
      - name: Install pypa/pdoc
        run: >-
          python -m
          pip install
          .[dev]
          --user
      - name: Generate doc
        run: >-
          python -m
          pdoc -o docs -n pySMART
      - name: Build the binary wheel and a source tarball
        run: >-
          python -m
          build
          --sdist
          --wheel
          --outdir dist/
          .
      - name: Publish distribution 📦 to PyPI
        if: startsWith(github.ref, 'refs/tags') || github.ref == 'refs/heads/master'
        uses: pypa/gh-action-pypi-publish@master
        with:
          password: ${{ secrets.PYPI_API_TOKEN }}
