Add automatic PyPI release GitHub workflow

Signed-off-by: Yuan Tang <terrytangyuan@gmail.com>
This commit is contained in:
Yuan Tang 2024-12-12 20:14:01 -05:00
parent 53b3a1e345
commit c24456a41a
No known key found for this signature in database

57
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,57 @@
name: PyPI Release
on:
push:
tags:
- v*
permissions:
contents: read
jobs:
build:
name: Build distributions for PyPI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Python
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
- name: Install build dependencies
run: python -m pip install build
- name: Build distributions
run: python -m build
- name: Upload distributions
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: llama-stack-dists
path: dist/
pypi:
name: Publish to PyPI
runs-on: ubuntu-latest
environment: release
needs:
- build
permissions:
# Used to authenticate to PyPI via OIDC: https://docs.pypi.org/trusted-publishers/
id-token: write
steps:
- name: fetch dists
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
name: llama-stack-dists
path: dist/
- name: publish
if: github.event_name == 'push'
uses: pypa/gh-action-pypi-publish@67339c736fd9354cd4f8cb0b744f2b82a74b5c70 # v1.12.3
with:
attestations: true