diff --git a/.github/workflows/pythonpublish.yml b/.github/workflows/pythonpublish.yml index f8085a7d..3534b02b 100644 --- a/.github/workflows/pythonpublish.yml +++ b/.github/workflows/pythonpublish.yml @@ -1,31 +1,59 @@ -# This workflows will upload a Python Package using Twine when a release is created -# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries - name: Upload Python Package on: release: - types: [published] + types: + - published -jobs: - deploy: +permissions: {} +jobs: + build: runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.4 + - name: Set up Python - uses: actions/setup-python@v1 + uses: actions/setup-python@v5.1.0 with: - python-version: '3.x' + python-version: "3.x" + + - name: Verify version + uses: home-assistant/actions/helpers/verify-version@master + - name: Install dependencies run: | python -m pip install --upgrade pip - pip install setuptools wheel twine - - name: Build and publish - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} + pip install setuptools build + + - name: Build run: | - python setup.py sdist bdist_wheel - twine upload dist/* + python -m build + + - name: Upload dists + uses: actions/upload-artifact@v4.3.3 + with: + name: "dist" + path: "dist/" + if-no-files-found: error + retention-days: 5 + + publish: + name: Upload release to PyPI + runs-on: ubuntu-latest + needs: "build" + environment: + name: release + url: https://pypi.org/p/pycognito + permissions: + id-token: write + steps: + - name: Download dists + uses: actions/download-artifact@v4.1.7 + with: + name: "dist" + path: "dist/" + + - name: Publish dists to PyPI + # Pinned to a commit for security purposes + uses: pypa/gh-action-pypi-publish@81e9d935c883d0b210363ab89cf05f3894778450 # v1.8.14