name: "Build and draft a release" on: workflow_dispatch: push: tags: # regex taken from # https://packaging.python.org/en/latest/specifications/version-specifiers/#appendix-parsing-version-strings-with-regular-expressions - '^([1-9][0-9]*!)?(0|[1-9][0-9]*)(\.(0|[1-9][0-9]*))*((a|b|rc)(0|[1-9][0-9]*))?(\.post(0|[1-9][0-9]*))?(\.dev(0|[1-9][0-9]*))?$' permissions: contents: write discussions: write jobs: build-and-draft-release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python environment uses: actions/setup-python@v5 with: python-version: "3.x" - name: Build package run: | pip install build python -m build - name: Draft a release uses: softprops/action-gh-release@v2 with: discussion_category_name: New releases draft: true generate_release_notes: true files: | dist/*