name: Release
on:
push:
tags: ["v*"]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v4
- run: uv python install ${{ matrix.python-version }}
- run: uv sync --all-extras
- run: uv run ruff check .
- run: uv run mypy hypabase/
- run: uv run pytest -v --tb=short
publish:
needs: test
runs-on: ubuntu-latest
permissions:
id-token: write
environment: pypi
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v4
- run: uv build
- uses: pypa/gh-action-pypi-publish@release/v1
docs:
needs: test
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: astral-sh/setup-uv@v4
- run: uv sync --extra docs
- name: Configure git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Deploy docs
run: |
VERSION=${GITHUB_REF#refs/tags/v}
uv run mike deploy "$VERSION" latest --update-aliases --push