Repository navigation
docs: install paths by audience — PyPI release, editable master, devi… #37
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 | |
| # Runs the headless unit suite (including the strict hardware-feasibility gate that | |
| # every effect/transition must clear) and the critical-error lint on each push/PR, | |
| # plus a strict mkdocs build (a broken internal link or anchor fails it). | |
| # The suite runs against the pygame simulator with a dummy SDL driver, so no display | |
| # or audio device is needed on the runner. | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.13"] | |
| env: | |
| SDL_VIDEODRIVER: dummy | |
| SDL_AUDIODRIVER: dummy | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| - name: Install dependencies | |
| # Editable install via the [dev] extra (which pulls in [simulator]: pygame, | |
| # numpy, Pillow). This exercises the real published install path, so a | |
| # packaging regression fails CI here. The Makefile still sets PYTHONPATH=src; | |
| # the editable install resolves to the same in-tree source. | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -e ".[dev]" | |
| - name: Critical-error lint | |
| run: make lint-errors | |
| - name: Unit tests (incl. strict feasibility gate) | |
| run: make test-unit | |
| docs: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| cache: pip | |
| - name: Install docs dependencies | |
| # The docs are hand-written markdown (no mkdocstrings autodoc), so this only | |
| # needs the [docs] extra (mkdocs + material) — the package isn't imported. | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install ".[docs]" | |
| - name: Build docs (strict) | |
| # --strict fails on any warning, e.g. a broken internal link or anchor. | |
| run: mkdocs build --strict |