feat: Add pypi auto publishing
Some checks are pending
website / build (push) Waiting to run
website / deploy (push) Blocked by required conditions
Publish python package to pypi and testpypi / Build distribution (push) Waiting to run
Publish python package to pypi and testpypi / Publish dist to pypi (push) Blocked by required conditions
Publish python package to pypi and testpypi / Test publishing to testpypi (push) Blocked by required conditions

This commit is contained in:
Marty Oehme 2025-04-09 10:35:19 +02:00
parent 2fb0608a87
commit 771993f999
Signed by: Marty
GPG key ID: 4E535BC19C61886E
3 changed files with 69 additions and 2 deletions

View file

@ -20,7 +20,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.13'
python-version: '3.x'
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5

67
.github/workflows/release.yaml vendored Normal file
View file

@ -0,0 +1,67 @@
name: Publish python package to pypi and testpypi
on: push
jobs:
build:
name: Build distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v5
- name: Build the wheel and source tarball
run: uv build
- name: Store dist packages
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/
publish-to-pypi:
name: Publish dist to pypi
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
needs:
- build
environment:
name: pypi
url: https://pypi.org/p/topen
permissions:
id-token: write
steps:
- name: Grab dist files
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Send off to PyPi
uses: pypa/gh-action-pypi-publish@release/v1
publish-to-testpypi:
name: Test publishing to testpypi
runs-on: ubuntu-latest
needs:
- build
environment:
name: testpypi
url: https://test.pypi.org/p/topen
permissions:
id-token: write
steps:
- name: Grab dist files
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Send off to TestPyPi
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/

View file

@ -3,7 +3,7 @@
[![Static Badge](https://img.shields.io/badge/pdoc-Docs-blue)](https://marty-oehme.github.io/topen)
[![PyPI - Version](https://img.shields.io/pypi/v/topen)](https://pypi.org/project/topen)
[![GitHub Release](https://img.shields.io/github/v/release/marty-oehme/topen)](https://github.com/marty-oehme/topen/releases/latest)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/marty-oehme/topen/docs.yaml)
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/marty-oehme/topen/release.yaml)
A script without bells and whistles.
Focuses on letting you quickly: