name: Understone example # The door-game example is a standalone package with no dependency on # turnstone core, and the root test suite does not collect it # (testpaths=["tests"]). Without this workflow its suite never runs in CI. # Path-filtered so it only runs when the example (or this workflow) changes. on: push: branches: [main, "stable/*"] paths: - "examples/door-game/**" - ".github/workflows/understone-example.yml" pull_request: branches: [main, "stable/*"] paths: - "examples/door-game/**" - ".github/workflows/understone-example.yml" permissions: contents: read jobs: understone: runs-on: ubuntu-latest defaults: run: working-directory: examples/door-game strategy: matrix: # Floor and ceiling of the example's requires-python (>=3.11). python-version: ["3.11", "3.13"] steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7 with: python-version: ${{ matrix.python-version }} - run: pip install -e ".[test,dev]" - run: pytest tests/ -q - run: ruff check . - run: ruff format --check . - run: mypy understone/