In #142248, I noticed that my script did not work in 3.13's CI, because it used Python 3.12 instead of 3.13 or later.
The problem is in 3.13's configure script. As noted by @hugovk, 3.13's configure only checks for Python 3.13 and below, so the Python 3.14 installation used by actions/setup-python is thrown away, and an old Python 3.12.3 copy that comes with the image is used instead.
This is quite unfortunate, because for CI tools, we have to either limit ourselves to 3.12 features or create slightly different scripts for each branch (which is not ideal for backporting). In my case, I used _colorize in the job that I added, but I would have to remove that usage on the 3.13 branch, which would make it very frustrating to edit the script without conflicts.
I see two good solutions:
- Force the
actions/setup-python job to install Python 3.13 instead of 3.14.
- Add 3.14 to the
configure script.
My personal preference is the latter.
Linked PRs