Skip to content

Creating release section as well #16

Creating release section as well

Creating release section as well #16

Workflow file for this run

name: Publish Python Package
on:
push:
branches:
- main
tags:
- "[0-9]+.[0-9]+.[0-9]+"
- "[0-9]+.[0-9]+.[0-9]+a[0-9]+"
- "[0-9]+.[0-9]+.[0-9]+b[0-9]+"
- "[0-9]+.[0-9]+.[0-9]+rc[0-9]+"
pull_request:
branches:
- main
jobs:
release-build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Install UV
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
echo "$HOME/.local/bin" >> $GITHUB_PATH # Ensure UV is available
- name: Build Package with UV
run: |
uv build
- name: Upload Built Package
uses: actions/upload-artifact@v4
with:
name: release-dists
path: dist/
pypi-publish:
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs:
- release-build
permissions:
id-token: write # Enables OpenID Connect (No API token needed)
contents: read
environment: publish
steps:
- name: Retrieve Built Package
uses: actions/download-artifact@v4
with:
name: release-dists
path: dist/
- name: Publish to PyPI using UV
uses: pypa/[email protected]
github-release:
if: startsWith(github.ref, 'refs/tags/') # ✅ Only runs if a tag is present
runs-on: ubuntu-latest
needs:
- release-build
permissions:
contents: write
steps:
- name: Retrieve Built Package
uses: actions/download-artifact@v4
with:
name: release-dists
path: dist/
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: dist/*
token: ${{ secrets.GITHUB_TOKEN }}
tag_name: ${{ github.ref_name }}
name: "Release ${{ github.ref_name }}"
draft: false
prerelease: false