Spaces:
Running
Running
# This workflow will | |
# - Find the latest version tag based on the commit history | |
# - Create a git tag for the new version | |
# - Update the version number in pyproject.toml based on the commit history | |
# - Upload the package to PyPI | |
# - Create a release on GitHub | |
# This workflow required the following secrets to be set: | |
# - a GitHub personal access token with the `repo` scope called `RELEASE` | |
# - and that you setup trusted publishing using PyPI as described here: https://blog.pypi.org/posts/2023-04-20-introducing-trusted-publishers/ | |
name: Release | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
concurrency: release | |
permissions: | |
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing using PyPI | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
token: ${{ secrets.GH_TOKEN }} | |
- name: Python Semantic Release | |
id: release | |
uses: python-semantic-release/python-semantic-release@v9.8.3 | |
with: | |
github_token: ${{ secrets.GH_TOKEN }} | |
- name: Publish package distributions to PyPI | |
uses: pypa/gh-action-pypi-publish@v1.9.0 | |
if: steps.release.outputs.released == 'true' | |
# This action supports PyPI's trusted publishing implementation, which allows authentication to PyPI without a manually | |
# configured API token or username/password combination. To perform trusted publishing with this action, your project's | |
# publisher must already be configured on PyPI. | |
- name: Publish package distributions to GitHub Releases | |
uses: python-semantic-release/upload-to-gh-release@v9.8.3 | |
if: steps.release.outputs.released == 'true' | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
tag: ${{ steps.release.outputs.tag }} | |