docs(refactor): stack shard — final tail closures, 165 kills, 50.8% raw #1917
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, push] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| validate: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.14"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| # Single source of truth: CI runs the exact same gate as | |
| # `make validate` does locally, so the two can never drift. | |
| - name: Build venv + install deps | |
| run: make venv | |
| - name: Lint (codespell + isort + black + flake8 + mypy) | |
| run: make lint | |
| # `make lint` applies formatting in place; in CI any change | |
| # it makes is a failure (the author should have run it). | |
| - name: Fail on lint-induced changes | |
| run: git diff --exit-code | |
| - name: Test (full unittest suite) | |
| run: make test |