mirror of
https://code.forgejo.org/actions/setup-python
synced 2025-06-14 23:14:09 +02:00
feature: add version parsing from Pipfile
This commit is contained in:
parent
5db1cf9a59
commit
c44ab2e287
5 changed files with 222 additions and 3 deletions
37
dist/setup/index.js
vendored
37
dist/setup/index.js
vendored
|
@ -97066,7 +97066,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||
exports.getDownloadFileName = exports.getNextPageUrl = exports.getBinaryDirectory = exports.getVersionInputFromFile = exports.getVersionInputFromToolVersions = exports.getVersionsInputFromPlainFile = exports.getVersionInputFromTomlFile = exports.getOSInfo = exports.getLinuxInfo = exports.logWarning = exports.isCacheFeatureAvailable = exports.isGhes = exports.validatePythonVersionFormatForPyPy = exports.writeExactPyPyVersionFile = exports.readExactPyPyVersionFile = exports.getPyPyVersionFromPath = exports.isNightlyKeyword = exports.validateVersion = exports.createSymlinkInFolder = exports.WINDOWS_PLATFORMS = exports.WINDOWS_ARCHS = exports.IS_MAC = exports.IS_LINUX = exports.IS_WINDOWS = void 0;
|
||||
exports.getDownloadFileName = exports.getNextPageUrl = exports.getBinaryDirectory = exports.getVersionInputFromFile = exports.getVersionInputFromPipfileFile = exports.getVersionInputFromToolVersions = exports.getVersionsInputFromPlainFile = exports.getVersionInputFromTomlFile = exports.getOSInfo = exports.getLinuxInfo = exports.logWarning = exports.isCacheFeatureAvailable = exports.isGhes = exports.validatePythonVersionFormatForPyPy = exports.writeExactPyPyVersionFile = exports.readExactPyPyVersionFile = exports.getPyPyVersionFromPath = exports.isNightlyKeyword = exports.validateVersion = exports.createSymlinkInFolder = exports.WINDOWS_PLATFORMS = exports.WINDOWS_ARCHS = exports.IS_MAC = exports.IS_LINUX = exports.IS_WINDOWS = void 0;
|
||||
/* eslint no-unsafe-finally: "off" */
|
||||
const cache = __importStar(__nccwpck_require__(5116));
|
||||
const core = __importStar(__nccwpck_require__(7484));
|
||||
|
@ -97336,7 +97336,37 @@ function getVersionInputFromToolVersions(versionFile) {
|
|||
}
|
||||
exports.getVersionInputFromToolVersions = getVersionInputFromToolVersions;
|
||||
/**
|
||||
* Python version extracted from a plain, .tool-versions or TOML file.
|
||||
* Python version extracted from the Pipfile file.
|
||||
*/
|
||||
function getVersionInputFromPipfileFile(versionFile) {
|
||||
core.debug(`Trying to resolve version form ${versionFile}`);
|
||||
let pipfileFile = fs_1.default.readFileSync(versionFile, 'utf8');
|
||||
// Normalize the line endings in the pipfileFile
|
||||
pipfileFile = pipfileFile.replace(/\r\n/g, '\n');
|
||||
const pipfileConfig = toml.parse(pipfileFile);
|
||||
const keys = ['requires'];
|
||||
if (!('requires' in pipfileConfig)) {
|
||||
core.warning(`No Python version found in ${versionFile}`);
|
||||
return [];
|
||||
}
|
||||
if ('python_full_version' in pipfileConfig['requires']) {
|
||||
// specifies a full python version
|
||||
keys.push('python_full_version');
|
||||
}
|
||||
else {
|
||||
keys.push('python_version');
|
||||
}
|
||||
const versions = [];
|
||||
const version = extractValue(pipfileConfig, keys);
|
||||
if (version !== undefined) {
|
||||
versions.push(version);
|
||||
}
|
||||
core.info(`Extracted ${versions} from ${versionFile}`);
|
||||
return [extractValue(pipfileConfig, keys)];
|
||||
}
|
||||
exports.getVersionInputFromPipfileFile = getVersionInputFromPipfileFile;
|
||||
/**
|
||||
* Python version extracted from a plain, .tool-versions, Pipfile or TOML file.
|
||||
*/
|
||||
function getVersionInputFromFile(versionFile) {
|
||||
if (versionFile.endsWith('.toml')) {
|
||||
|
@ -97345,6 +97375,9 @@ function getVersionInputFromFile(versionFile) {
|
|||
else if (versionFile.match('.tool-versions')) {
|
||||
return getVersionInputFromToolVersions(versionFile);
|
||||
}
|
||||
else if (versionFile.match('Pipfile')) {
|
||||
return getVersionInputFromPipfileFile(versionFile);
|
||||
}
|
||||
else {
|
||||
return getVersionsInputFromPlainFile(versionFile);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue