feat(prompts): prompt-management core (proposal 0017) #146
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |