feature: fallback to pre-release when no stable version is found (#414)

This allows to specify version like `3.11` or `pypy3.10` in workflows before those versions are released.
This lessen the burden for users of `setup-python` by not having to modify their workflow twice: once when a pre-release is available (e.g. `3.11-dev`) and once when the first stable release is published (e.g. `3.11`)
This commit is contained in:
Matthieu Darbois authored and GitHub committed 2023-01-27 16:19:31 -05:00
1 parent a6eba85bba
commit 2652534ead
14 files changed
+524 -61

No files matched your search

+5 -2
View File
@@ -23,7 +23,8 @@ export async function findPyPyVersion(
versionSpec: string,
architecture: string,
updateEnvironment: boolean,
checkLatest: boolean
checkLatest: boolean,
allowPreReleases: boolean
): Promise<{resolvedPyPyVersion: string; resolvedPythonVersion: string}> {
let resolvedPyPyVersion = '';
let resolvedPythonVersion = '';
@@ -39,7 +40,8 @@ export async function findPyPyVersion(
releases,
pypyVersionSpec.pythonVersion,
pypyVersionSpec.pypyVersion,
architecture
architecture,
false
);
if (releaseData) {
@@ -71,6 +73,7 @@ export async function findPyPyVersion(
pypyVersionSpec.pypyVersion,
pypyVersionSpec.pythonVersion,
architecture,
allowPreReleases,
releases
));
}