| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| quality: | |
| name: Python ${{ matrix.python-version }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| - name: Install package and checks | |
| run: python -m pip install --upgrade pip && python -m pip install -e '.[dev]' build twine | |
| - name: Lint | |
| run: ruff check . | |
| - name: Format | |
| run: ruff format --check . | |
| - name: Tests | |
| run: pytest -q | |
| - name: Verify curated benchmark evidence | |
| run: python scripts/verify_public_release.py | |
| - name: Safe weight-free demo | |
| run: barunaction demo > demo-result.json | |
| - name: Build package | |
| run: python -m build | |
| - name: Check package metadata | |
| run: python -m twine check dist/* | |