Use pypyX.Y for PyPy python-version input (#349)

This versioning scheme is consistent with other
tools in the python ecosystem so it feels more natural
and allows better interaction with other tools.

fixes #346
This commit is contained in:
Matthieu Darbois
2022-05-18 15:20:53 +02:00
committed by GitHub
parent c57f79353b
commit fff15a21cc
6 changed files with 54 additions and 25 deletions

View File

@ -98,9 +98,14 @@ export function findPyPyToolCache(
export function parsePyPyVersion(versionSpec: string): IPyPyVersionSpec {
const versions = versionSpec.split('-').filter(item => !!item);
if (/^(pypy)(.+)/.test(versions[0])) {
let pythonVersion = versions[0].replace('pypy', '');
versions.splice(0, 1, 'pypy', pythonVersion);
}
if (versions.length < 2 || versions[0] != 'pypy') {
throw new Error(
"Invalid 'version' property for PyPy. PyPy version should be specified as 'pypy-<python-version>'. See README for examples and documentation."
"Invalid 'version' property for PyPy. PyPy version should be specified as 'pypy<python-version>' or 'pypy-<python-version>'. See README for examples and documentation."
);
}

View File

@ -7,7 +7,7 @@ import {getCacheDistributor} from './cache-distributions/cache-factory';
import {isCacheFeatureAvailable} from './utils';
function isPyPyVersion(versionSpec: string) {
return versionSpec.startsWith('pypy-');
return versionSpec.startsWith('pypy');
}
async function cacheDependencies(cache: string, pythonVersion: string) {