Description:
When specifying python-version: "3.x" in actions/setup-python@v6, the action resolves and installs Python 3.14.2—even though this version currently has only prerelease (alpha/beta) releases, and the documentation states that prereleases should not be installed unless allow-prereleases: true is set. This behavior was observed on GitHub-hosted runners with the provided configuration, and no explicit allow-prereleases: true was present.
Action version:
actions/setup-python@v6
Platform:
Runner type:
Tools version:
- 3.14.2
- (expected: 3.13.x or latest stable 3.x)
Repro steps:
Provide the following in a workflow job:
- uses: actions/setup-python@v6
with:
python-version: "3.x"
Observed in the job log:
Run actions/setup-python@v6
Installed versions
Successfully set up CPython (3.14.2)
Expected behavior:
actions/setup-python should only install stable production releases unless allow-prereleases: true is set (according to the documentation). With python-version: "3.x", it should resolve to the latest stable 3.x, such as 3.13.x.
Actual behavior:
The action installed Python 3.14.2, which is not a stable release at the time of writing. This could break CI environments expecting stable releases only.