Serapeum GitHub Actions¶
Reusable GitHub Actions for Python CI/CD workflows. Cross-platform, multi-package-manager, production-ready.
Actions at a Glance¶
| Action | Purpose | Package Managers |
|---|---|---|
| python-setup/pip | Python environment with pip | pip |
| python-setup/uv | Python environment with uv | uv |
| python-setup/pixi | Python environment with pixi | pixi |
| mkdocs-deploy | MkDocs to GitHub Pages with versioning | pip, uv, pixi |
| release/github | Version bump + GitHub release via Commitizen | pip, uv, pixi |
| release/pypi | Build and publish to PyPI | pip, uv, pixi |
Quick Start¶
Key Features¶
- Cross-platform - Windows, macOS, Linux
- Multiple package managers - pip, uv, pixi
- Dependency groups - PEP 735 support (groups) and optional dependencies (extras)
- Lock file verification - Reproducible builds by default
- Caching - Faster CI with dependency caching
- Versioned releases - Namespaced semantic versioning per action
Architecture¶
graph TB
subgraph "Python Setup Actions"
PIP[pip action]
UV[uv action]
PIXI[pixi action]
end
subgraph "Deployment Actions"
MKDOCS[mkdocs-deploy]
RELEASE_GH[release/github]
RELEASE_PYPI[release/pypi]
end
PIP & UV & PIXI --> MKDOCS
PIP & UV & PIXI --> RELEASE_GH
PIP & UV & PIXI --> RELEASE_PYPI
MKDOCS --> GH_PAGES[GitHub Pages]
RELEASE_GH --> GH_RELEASE[GitHub Releases]
RELEASE_PYPI --> PYPI[PyPI]
Versioning¶
Actions use namespaced tags for independent releases:
Pin to a major version for automatic bug fixes:
See the Versioning Guide for details.