Skip to content

Add documentation website #63

Add documentation website

Add documentation website #63

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# -----------------------------------------------------------------------
# Lint — always run
# -----------------------------------------------------------------------
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/ruff-action@v3
with:
args: "check"
src: "src/ tests/"
- uses: astral-sh/ruff-action@v3
with:
args: "format --check --diff"
src: "src/ tests/"
codespell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: codespell-project/actions-codespell@v2
# -----------------------------------------------------------------------
# Typecheck — always run
# -----------------------------------------------------------------------
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv run pyright src/ tests/typing/
- run: uv run mypy src/
- run: uv run ty check src/
typecheck-compat:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv run pytest tests/test_typecheck.py -v
# -----------------------------------------------------------------------
# Test — always run (locked dev env)
# -----------------------------------------------------------------------
test:
needs: [ruff, codespell, typecheck]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv run tox run -e dev
# -----------------------------------------------------------------------
# PR: fast compat matrix
# -----------------------------------------------------------------------
compat-pr:
if: github.event_name == 'pull_request'
needs: [test]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python: [py312, py314]
beartype: [bt022]
backend: [numpy24, jax09, torch210, optree019]
exclude:
- { python: py314, backend: torch210 }
name: ${{ matrix.python }}-${{ matrix.beartype }}-${{ matrix.backend }}
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv run tox run -e "${{ matrix.python }}-${{ matrix.beartype }}-${{ matrix.backend }}"
typecheck-pr:
if: github.event_name == 'pull_request'
needs: [test]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- { env: py313-bt022-type-pyright1408 }
- { env: py313-bt022-type-mypy119 }
- { env: py313-bt022-type-ty }
name: ${{ matrix.env }}
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv run tox run -e "${{ matrix.env }}"
# -----------------------------------------------------------------------
# Push: medium compat matrix
# -----------------------------------------------------------------------
compat-push:
if: github.event_name == 'push'
needs: [test]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python: [py312, py313, py314]
beartype: [bt022]
backend: [numpy24, jax09, torch210, optree019]
exclude:
- { python: py314, backend: torch210 }
name: ${{ matrix.python }}-${{ matrix.beartype }}-${{ matrix.backend }}
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv run tox run -e "${{ matrix.python }}-${{ matrix.beartype }}-${{ matrix.backend }}"
typecheck-push:
if: github.event_name == 'push'
needs: [test]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- { env: py313-bt022-type-pyright1408 }
- { env: py313-bt022-type-mypy119 }
- { env: py313-bt022-type-ty }
name: ${{ matrix.env }}
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
- run: uv run tox run -e "${{ matrix.env }}"