diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 805030df..74ec1dfa 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -30,12 +30,7 @@ jobs: - uses: actions/setup-python@v5 with: - # 3.12, not "3.x", and only in THIS job: it installs the full - # requirements.txt, which includes pygame 2.6.1 -- the newest - # release, and it ships no cp314 wheel. On 3.14 pip falls back to - # a source build and dies on a missing sdl-config. python-tests.yml - # runs newest stable because its test subset has no pygame. - python-version: "3.12" + python-version: "3.x" # See the note in python-tests.yml: caches the pip download cache, # keyed on the real meta/ path rather than the root symlink. cache: pip @@ -48,7 +43,15 @@ jobs: - name: Install system dependencies run: | set -euo pipefail - sudo apt-get update && sudo apt-get install -y zsh librsvg2-bin + sudo apt-get update + # The SDL headers are for pygame. 2.6.1 is the newest release and its + # wheels stop at cp313, so on newest-stable Python pip falls back to a + # source build -- which dies on a missing `sdl-config` unless these are + # here. Every repo runs exactly one Python and it is the newest, so the + # build gets what it needs rather than the job being held back. + sudo apt-get install -y zsh librsvg2-bin \ + libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev \ + libfreetype6-dev libportmidi-dev zsh --version rsvg-convert --version diff --git a/meta/pyproject.toml b/meta/pyproject.toml index 8193fa1d..8f05869f 100644 --- a/meta/pyproject.toml +++ b/meta/pyproject.toml @@ -2,10 +2,10 @@ name = "testsandmisc" version = "0.1.0" description = "Collection of miscellaneous tests and scripts" -# numpy 2.5.2 -- the pin the freshness gate requires -- declares >=3.12, so -# 3.10 and 3.11 can no longer even install the test environment. CI proves -# 3.14; 3.12 is the lowest version the pins allow. -requires-python = ">=3.12" +# One Python, always the newest (kuhy, 2026-08-28). CI runs "3.x" in every +# job, and the full suite -- 1866 tests, 100% coverage -- was verified on +# 3.14 in a clean venv before this floor moved. +requires-python = ">=3.14" # ============================================================================ # RUFF - Extremely fast Python linter and formatter (written in Rust)