Build pygame from source so the pre-commit job runs newest Python too
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
Pre-commit checks / pre-commit (push) Waiting to run
Shell tests / shell-tests (push) Waiting to run
Shell tests / arch-tests (push) Waiting to run

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Krzysztof Rudnicki 2026-08-28 20:25:31 +02:00
parent 5a8aba7369
commit af068a22cf
2 changed files with 14 additions and 11 deletions

View File

@ -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

View File

@ -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)