From f5e7d2b86bb624b7ecf2bbee6b121d1452f80918 Mon Sep 17 00:00:00 2001 From: Daniel McCoy Stephenson Date: Tue, 11 Aug 2026 01:04:50 -0600 Subject: [PATCH 1/2] docs: correct the CI trigger description and state the supported Python range The Development section claimed test.yml runs "on every push and pull request". The workflow is triggered by `push: branches: [main]` and `pull_request`, so a push to a feature branch with no open PR is not covered -- worth saying plainly, since that is exactly the case where a contributor is likely to assume CI has their back. The same sentence also undersold the workflow: it runs a compile check and an import smoke test before pytest, across a 3.9-3.13 matrix. The supported interpreter range was documented nowhere in the README even though pyproject.toml pins `requires-python = ">=3.9"`, so it is now stated next to the dependency list. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ac2686d..4fb9b19 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ Color constants: `Graphik.black`, `Graphik.white`, `Graphik.red`, `Graphik.green ## Dependencies - pygame +Python 3.9 or newer is required (`requires-python` in [pyproject.toml](pyproject.toml)). The test suite is run against 3.9, 3.10, 3.11, 3.12 and 3.13 — the versions pygame ships prebuilt wheels for. + ## Development ```bash python -m venv .venv @@ -51,7 +53,7 @@ source .venv/bin/activate pip install -e ".[test]" pytest ``` -The suite is headless: `src/test/python/conftest.py` sets `SDL_VIDEODRIVER`/`SDL_AUDIODRIVER` to `dummy` before pygame touches a display, so no window is created and the tests run on a machine with no display attached. `pytest` alone works from the repo root because `[tool.pytest.ini_options]` in `pyproject.toml` points `testpaths` at `src/test/python` and `pythonpath` at `src/main/python`. `.github/workflows/test.yml` runs the same `pip install -e ".[test]"` + `pytest` sequence on every push and pull request. +The suite is headless: `src/test/python/conftest.py` sets `SDL_VIDEODRIVER`/`SDL_AUDIODRIVER` to `dummy` before pygame touches a display, so no window is created and the tests run on a machine with no display attached. `pytest` alone works from the repo root because `[tool.pytest.ini_options]` in `pyproject.toml` points `testpaths` at `src/test/python` and `pythonpath` at `src/main/python`. `.github/workflows/test.yml` runs the same `pip install -e ".[test]"` + `pytest` sequence — preceded by a compile check and an import smoke test, across the supported Python versions — on every pull request and on every push to `main`. A push to a branch with no open pull request is not covered, so run `pytest` locally before opening one. ## Projects [Projects that utilize this library](https://github.com/Stephenson-Software/graphik/wiki/Projects) From 49263f5b2762d759ff321241256170f80e42e2e4 Mon Sep 17 00:00:00 2001 From: Daniel McCoy Stephenson Date: Tue, 11 Aug 2026 01:06:52 -0600 Subject: [PATCH 2/2] docs: point at test.yml for the matrix ceiling instead of restating it Self-review finding: the new line repeated test.yml's rationale for stopping at 3.13 (pygame's prebuilt wheel range), creating a second place that goes stale the moment pygame ships a cp314 wheel. The README states the tested range and defers the reason to the workflow that encodes it. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4fb9b19..f466196 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ Color constants: `Graphik.black`, `Graphik.white`, `Graphik.red`, `Graphik.green ## Dependencies - pygame -Python 3.9 or newer is required (`requires-python` in [pyproject.toml](pyproject.toml)). The test suite is run against 3.9, 3.10, 3.11, 3.12 and 3.13 — the versions pygame ships prebuilt wheels for. +Python 3.9 or newer is required (`requires-python` in [pyproject.toml](pyproject.toml)). The test suite is run against 3.9 through 3.13; see [`.github/workflows/test.yml`](.github/workflows/test.yml) for why 3.13 is the ceiling. ## Development ```bash