Skip to content

[gh-actions] ↑ actions/checkout, actions/setup-python #61

[gh-actions] ↑ actions/checkout, actions/setup-python

[gh-actions] ↑ actions/checkout, actions/setup-python #61

Workflow file for this run

---
name: Tests
'on':
push:
branches:
- main
pull_request:
jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14.0-rc.2 - 3.14"
steps:
- uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version-file: "pyproject.toml"
- name: Run tests
run: |
uv run pytest --cov-report term-missing --cov=rohrpost tests
- name: Publish coverage
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
uv run coveralls --service=github
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.10"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version-file: "pyproject.toml"
- name: Check code format
run: |
uv run black --check --verbose --diff src/rohrpost tests
- name: Check imports
run: |
uv run isort --check --diff .
- name: Check types
run: |
uv run mypy src/rohrpost
- name: Check code with flake8
run: |
uv run flake8
- name: Check code with pylint
run: |
uv run pylint --recursive=y --reports=y --verbose ./
- name: Check manifest
run: |
uv run check-manifest
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.10"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version-file: "pyproject.toml"
- name: Build documentation
run: cd doc && make html
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.10"
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version-file: "pyproject.toml"
- name: Build package
run: uv build
- name: Check long description
run: uv run --only-group publish twine check dist/*