# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
#
# SPDX-License-Identifier: MIT

name: Release Actions

on:
  release:
    types: [published]

jobs:
  upload-pypi:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Check For pyproject.toml
      id: need-pypi
      run: |
        echo pyproject-toml=$( find . -wholename './pyproject.toml' ) >> $GITHUB_OUTPUT
    - name: Set up Python
      if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
      uses: actions/setup-python@v4
      with:
        python-version: '3.x'
    - name: Install dependencies
      if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
      run: |
        python -m pip install --upgrade pip
        pip install --upgrade build twine
    - name: Build and publish
      if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
      env:
        TWINE_USERNAME: ${{ secrets.pypi_username }}
        TWINE_PASSWORD: ${{ secrets.pypi_password }}
      run: |
        find -type f -not -path "./.*" -not -path "./docs*" \( -name "*.py" -o -name "*.toml" \) -exec sed -i -e "s/0.0.0+auto.0/${{github.event.release.tag_name}}/" {} +
        python -m build
        twine upload dist/*
