Skip to content

Commit

Permalink
Add a release workflow to publish to PyPI
Browse files Browse the repository at this point in the history
This uses the new Trusted Publisher setup to automatically publish when
a release is published.
  • Loading branch information
QuLogic committed Sep 12, 2023
1 parent 44e80c8 commit d03f43e
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---

name: Release
on:
release:
types:
- published

jobs:
build:
name: Build Release Packages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 10

- name: Get tags
run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*

- name: Set up Python
id: setup
uses: actions/setup-python@v4
with:
python-version: 3.x

- name: Install build tools
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade build
- name: Build packages
run: python -m build

- name: Save built packages as artifact
uses: actions/upload-artifact@v3
with:
name: packages-${{ runner.os }}-${{ steps.setup.outputs.python-version }}
path: dist/
if-no-files-found: error
retention-days: 5

publish:
name: Upload release to PyPI
needs: build
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
steps:
- name: Download packages
uses: actions/download-artifact@v3

- name: Consolidate packages for upload
run: |
mkdir dist
cp packages-*/* dist/
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

0 comments on commit d03f43e

Please sign in to comment.