Skip to content

fix(release): install examples dep group in release workflow #162

fix(release): install examples dep group in release workflow

fix(release): install examples dep group in release workflow #162

Workflow file for this run

name: CI
on:
pull_request:
branches: [main]
push:
branches: [main]
# Least-privilege: the workflow only needs to read code (checkout +
# submodule). No writes anywhere.
permissions:
contents: read
# Cancel in-flight runs on the same ref when a new push lands.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# Conformance fixtures live in the openarmature-spec submodule.
submodules: recursive
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
enable-cache: true
# No explicit `uv python install` — `uv sync` auto-provisions the
# interpreter pinned in `.python-version`, so CI tests the same
# version developers run locally.
- name: Sync deps
# ``--all-extras`` installs every optional-dependency group
# (currently ``[otel]``) so pyright type-checks the
# OTel-using modules with real types and tests covering
# extras-gated code paths run end-to-end. Without this,
# ``opentelemetry.*`` symbols come back Unknown and pyright
# produces hundreds of false-positive errors on
# ``tests/unit/test_observability_otel.py``.
run: uv sync --frozen --all-extras --group examples
- name: Lint (ruff check)
run: uv run ruff check .
- name: Format check (ruff format --check)
run: uv run ruff format --check .
- name: Type check (pyright)
run: uv run pyright src/ tests/
- name: Run tests (pytest)
run: uv run pytest -q
# Build the wheel + sdist so packaging bugs (missing files in the
# wheel, malformed metadata, README that won't render on PyPI)
# surface here rather than waiting for a release tag. No upload —
# the artifact is discarded after the job ends.
- name: Build package
run: uv build