name: Release on: schedule: - cron: '0 0 28 * *' # Monthly auto-release workflow_dispatch: # Manual trigger for quick fixes jobs: release: if: github.repository == 'python-gitlab/python-gitlab' runs-on: ubuntu-latest concurrency: release permissions: id-token: write environment: pypi.org steps: - uses: actions/checkout@v4.2.2 with: fetch-depth: 0 token: ${{ secrets.RELEASE_GITHUB_TOKEN }} - name: Python Semantic Release id: release uses: python-semantic-release/python-semantic-release@v10.1.0 with: github_token: ${{ secrets.RELEASE_GITHUB_TOKEN }} - name: Publish package distributions to PyPI uses: pypa/gh-action-pypi-publish@release/v1 # NOTE: DO NOT wrap the conditional in ${{ }} as it will always evaluate to true. # See https://github.com/actions/runner/issues/1173 if: steps.release.outputs.released == 'true' - name: Publish package distributions to GitHub Releases uses: python-semantic-release/upload-to-gh-release@0a92b5d7ebfc15a84f9801ebd1bf706343d43711 # v9.8.9 if: steps.release.outputs.released == 'true' with: github_token: ${{ secrets.GITHUB_TOKEN }}