Skip to content

Release to PyPI

Release to PyPI #4

Workflow file for this run

name: Build and Release
on:
push:
branches: [master]
tags: ['v*']
pull_request:
branches: [master]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set Up Python
uses: actions/setup-python@v5
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Install dependencies
run: |
uv sync --dev --all-extras
- name: Run tests (small dataset)
run: |
uv run pytest -m "not large"
env:
TEST_SIZE: small
build:
needs: test
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v4
- name: Set Up Python
uses: actions/setup-python@v5
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Build package
run: uv build --no-sources
- name: Publish to PyPI
run: uv publish
env:
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}