mirror of
				https://gitea.com/actions/setup-python.git
				synced 2025-10-31 07:47:08 +00:00 
			
		
		
		
	Compare commits
	
		
			7 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 152ba7c4dd | ||
|   | da8703fb23 | ||
|   | accf675719 | ||
|   | 614aa4aa1e | ||
|   | 53d19faf05 | ||
|   | 948e5343c7 | ||
|   | bdd6409dc1 | 
							
								
								
									
										125
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										125
									
								
								dist/index.js
									
									
									
									
										vendored
									
									
								
							| @@ -1243,6 +1243,32 @@ class SemVer { | |||||||
| module.exports = SemVer | module.exports = SemVer | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /***/ }), | ||||||
|  |  | ||||||
|  | /***/ 82: | ||||||
|  | /***/ (function(__unusedmodule, exports) { | ||||||
|  |  | ||||||
|  | "use strict"; | ||||||
|  |  | ||||||
|  | // We use any as a valid input type | ||||||
|  | /* eslint-disable @typescript-eslint/no-explicit-any */ | ||||||
|  | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
|  | /** | ||||||
|  |  * Sanitizes an input into a string so it can be passed into issueCommand safely | ||||||
|  |  * @param input input to sanitize into a string | ||||||
|  |  */ | ||||||
|  | function toCommandValue(input) { | ||||||
|  |     if (input === null || input === undefined) { | ||||||
|  |         return ''; | ||||||
|  |     } | ||||||
|  |     else if (typeof input === 'string' || input instanceof String) { | ||||||
|  |         return input; | ||||||
|  |     } | ||||||
|  |     return JSON.stringify(input); | ||||||
|  | } | ||||||
|  | exports.toCommandValue = toCommandValue; | ||||||
|  | //# sourceMappingURL=utils.js.map | ||||||
|  |  | ||||||
| /***/ }), | /***/ }), | ||||||
|  |  | ||||||
| /***/ 87: | /***/ 87: | ||||||
| @@ -1252,6 +1278,42 @@ module.exports = require("os"); | |||||||
|  |  | ||||||
| /***/ }), | /***/ }), | ||||||
|  |  | ||||||
|  | /***/ 102: | ||||||
|  | /***/ (function(__unusedmodule, exports, __webpack_require__) { | ||||||
|  |  | ||||||
|  | "use strict"; | ||||||
|  |  | ||||||
|  | // For internal use, subject to change. | ||||||
|  | var __importStar = (this && this.__importStar) || function (mod) { | ||||||
|  |     if (mod && mod.__esModule) return mod; | ||||||
|  |     var result = {}; | ||||||
|  |     if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; | ||||||
|  |     result["default"] = mod; | ||||||
|  |     return result; | ||||||
|  | }; | ||||||
|  | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
|  | // We use any as a valid input type | ||||||
|  | /* eslint-disable @typescript-eslint/no-explicit-any */ | ||||||
|  | const fs = __importStar(__webpack_require__(747)); | ||||||
|  | const os = __importStar(__webpack_require__(87)); | ||||||
|  | const utils_1 = __webpack_require__(82); | ||||||
|  | function issueCommand(command, message) { | ||||||
|  |     const filePath = process.env[`GITHUB_${command}`]; | ||||||
|  |     if (!filePath) { | ||||||
|  |         throw new Error(`Unable to find environment variable for file command ${command}`); | ||||||
|  |     } | ||||||
|  |     if (!fs.existsSync(filePath)) { | ||||||
|  |         throw new Error(`Missing file at path: ${filePath}`); | ||||||
|  |     } | ||||||
|  |     fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { | ||||||
|  |         encoding: 'utf8' | ||||||
|  |     }); | ||||||
|  | } | ||||||
|  | exports.issueCommand = issueCommand; | ||||||
|  | //# sourceMappingURL=file-command.js.map | ||||||
|  |  | ||||||
|  | /***/ }), | ||||||
|  |  | ||||||
| /***/ 120: | /***/ 120: | ||||||
| /***/ (function(module, __unusedexports, __webpack_require__) { | /***/ (function(module, __unusedexports, __webpack_require__) { | ||||||
|  |  | ||||||
| @@ -2422,6 +2484,7 @@ var __importStar = (this && this.__importStar) || function (mod) { | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const os = __importStar(__webpack_require__(87)); | const os = __importStar(__webpack_require__(87)); | ||||||
|  | const utils_1 = __webpack_require__(82); | ||||||
| /** | /** | ||||||
|  * Commands |  * Commands | ||||||
|  * |  * | ||||||
| @@ -2476,13 +2539,13 @@ class Command { | |||||||
|     } |     } | ||||||
| } | } | ||||||
| function escapeData(s) { | function escapeData(s) { | ||||||
|     return (s || '') |     return utils_1.toCommandValue(s) | ||||||
|         .replace(/%/g, '%25') |         .replace(/%/g, '%25') | ||||||
|         .replace(/\r/g, '%0D') |         .replace(/\r/g, '%0D') | ||||||
|         .replace(/\n/g, '%0A'); |         .replace(/\n/g, '%0A'); | ||||||
| } | } | ||||||
| function escapeProperty(s) { | function escapeProperty(s) { | ||||||
|     return (s || '') |     return utils_1.toCommandValue(s) | ||||||
|         .replace(/%/g, '%25') |         .replace(/%/g, '%25') | ||||||
|         .replace(/\r/g, '%0D') |         .replace(/\r/g, '%0D') | ||||||
|         .replace(/\n/g, '%0A') |         .replace(/\n/g, '%0A') | ||||||
| @@ -2603,6 +2666,8 @@ var __importStar = (this && this.__importStar) || function (mod) { | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const command_1 = __webpack_require__(431); | const command_1 = __webpack_require__(431); | ||||||
|  | const file_command_1 = __webpack_require__(102); | ||||||
|  | const utils_1 = __webpack_require__(82); | ||||||
| const os = __importStar(__webpack_require__(87)); | const os = __importStar(__webpack_require__(87)); | ||||||
| const path = __importStar(__webpack_require__(622)); | const path = __importStar(__webpack_require__(622)); | ||||||
| /** | /** | ||||||
| @@ -2625,11 +2690,21 @@ var ExitCode; | |||||||
| /** | /** | ||||||
|  * Sets env variable for this action and future actions in the job |  * Sets env variable for this action and future actions in the job | ||||||
|  * @param name the name of the variable to set |  * @param name the name of the variable to set | ||||||
|  * @param val the value of the variable |  * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify | ||||||
|  */ |  */ | ||||||
|  | // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||||||
| function exportVariable(name, val) { | function exportVariable(name, val) { | ||||||
|     process.env[name] = val; |     const convertedVal = utils_1.toCommandValue(val); | ||||||
|     command_1.issueCommand('set-env', { name }, val); |     process.env[name] = convertedVal; | ||||||
|  |     const filePath = process.env['GITHUB_ENV'] || ''; | ||||||
|  |     if (filePath) { | ||||||
|  |         const delimiter = '_GitHubActionsFileCommandDelimeter_'; | ||||||
|  |         const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`; | ||||||
|  |         file_command_1.issueCommand('ENV', commandValue); | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |         command_1.issueCommand('set-env', { name }, convertedVal); | ||||||
|  |     } | ||||||
| } | } | ||||||
| exports.exportVariable = exportVariable; | exports.exportVariable = exportVariable; | ||||||
| /** | /** | ||||||
| @@ -2645,7 +2720,13 @@ exports.setSecret = setSecret; | |||||||
|  * @param inputPath |  * @param inputPath | ||||||
|  */ |  */ | ||||||
| function addPath(inputPath) { | function addPath(inputPath) { | ||||||
|  |     const filePath = process.env['GITHUB_PATH'] || ''; | ||||||
|  |     if (filePath) { | ||||||
|  |         file_command_1.issueCommand('PATH', inputPath); | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|         command_1.issueCommand('add-path', {}, inputPath); |         command_1.issueCommand('add-path', {}, inputPath); | ||||||
|  |     } | ||||||
|     process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; |     process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; | ||||||
| } | } | ||||||
| exports.addPath = addPath; | exports.addPath = addPath; | ||||||
| @@ -2668,12 +2749,22 @@ exports.getInput = getInput; | |||||||
|  * Sets the value of an output. |  * Sets the value of an output. | ||||||
|  * |  * | ||||||
|  * @param     name     name of the output to set |  * @param     name     name of the output to set | ||||||
|  * @param     value    value to store |  * @param     value    value to store. Non-string values will be converted to a string via JSON.stringify | ||||||
|  */ |  */ | ||||||
|  | // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||||||
| function setOutput(name, value) { | function setOutput(name, value) { | ||||||
|     command_1.issueCommand('set-output', { name }, value); |     command_1.issueCommand('set-output', { name }, value); | ||||||
| } | } | ||||||
| exports.setOutput = setOutput; | exports.setOutput = setOutput; | ||||||
|  | /** | ||||||
|  |  * Enables or disables the echoing of commands into stdout for the rest of the step. | ||||||
|  |  * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | function setCommandEcho(enabled) { | ||||||
|  |     command_1.issue('echo', enabled ? 'on' : 'off'); | ||||||
|  | } | ||||||
|  | exports.setCommandEcho = setCommandEcho; | ||||||
| //----------------------------------------------------------------------- | //----------------------------------------------------------------------- | ||||||
| // Results | // Results | ||||||
| //----------------------------------------------------------------------- | //----------------------------------------------------------------------- | ||||||
| @@ -2707,18 +2798,18 @@ function debug(message) { | |||||||
| exports.debug = debug; | exports.debug = debug; | ||||||
| /** | /** | ||||||
|  * Adds an error issue |  * Adds an error issue | ||||||
|  * @param message error issue message |  * @param message error issue message. Errors will be converted to string via toString() | ||||||
|  */ |  */ | ||||||
| function error(message) { | function error(message) { | ||||||
|     command_1.issue('error', message); |     command_1.issue('error', message instanceof Error ? message.toString() : message); | ||||||
| } | } | ||||||
| exports.error = error; | exports.error = error; | ||||||
| /** | /** | ||||||
|  * Adds an warning issue |  * Adds an warning issue | ||||||
|  * @param message warning issue message |  * @param message warning issue message. Errors will be converted to string via toString() | ||||||
|  */ |  */ | ||||||
| function warning(message) { | function warning(message) { | ||||||
|     command_1.issue('warning', message); |     command_1.issue('warning', message instanceof Error ? message.toString() : message); | ||||||
| } | } | ||||||
| exports.warning = warning; | exports.warning = warning; | ||||||
| /** | /** | ||||||
| @@ -2776,8 +2867,9 @@ exports.group = group; | |||||||
|  * Saves state for current action, the state can only be retrieved by this action's post job execution. |  * Saves state for current action, the state can only be retrieved by this action's post job execution. | ||||||
|  * |  * | ||||||
|  * @param     name     name of the state to store |  * @param     name     name of the state to store | ||||||
|  * @param     value    value to store |  * @param     value    value to store. Non-string values will be converted to a string via JSON.stringify | ||||||
|  */ |  */ | ||||||
|  | // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||||||
| function saveState(name, value) { | function saveState(name, value) { | ||||||
|     command_1.issueCommand('save-state', { name }, value); |     command_1.issueCommand('save-state', { name }, value); | ||||||
| } | } | ||||||
| @@ -6325,7 +6417,7 @@ function binDir(installDir) { | |||||||
| // For example, PyPy 7.0 contains Python 2.7, 3.5, and 3.6-alpha. | // For example, PyPy 7.0 contains Python 2.7, 3.5, and 3.6-alpha. | ||||||
| // We only care about the Python version, so we don't use the PyPy version for the tool cache. | // We only care about the Python version, so we don't use the PyPy version for the tool cache. | ||||||
| function usePyPy(majorVersion, architecture) { | function usePyPy(majorVersion, architecture) { | ||||||
|     const findPyPy = tc.find.bind(undefined, 'PyPy', majorVersion.toString()); |     const findPyPy = tc.find.bind(undefined, 'PyPy', majorVersion); | ||||||
|     let installDir = findPyPy(architecture); |     let installDir = findPyPy(architecture); | ||||||
|     if (!installDir && IS_WINDOWS) { |     if (!installDir && IS_WINDOWS) { | ||||||
|         // PyPy only precompiles binaries for x86, but the architecture parameter defaults to x64. |         // PyPy only precompiles binaries for x86, but the architecture parameter defaults to x64. | ||||||
| @@ -6345,6 +6437,10 @@ function usePyPy(majorVersion, architecture) { | |||||||
|     core.exportVariable('pythonLocation', pythonLocation); |     core.exportVariable('pythonLocation', pythonLocation); | ||||||
|     core.addPath(installDir); |     core.addPath(installDir); | ||||||
|     core.addPath(_binDir); |     core.addPath(_binDir); | ||||||
|  |     // Starting from PyPy 7.3.1, the folder that is used for pip and anything that pip installs should be "Scripts" on Windows. | ||||||
|  |     if (IS_WINDOWS) { | ||||||
|  |         core.addPath(path.join(installDir, 'Scripts')); | ||||||
|  |     } | ||||||
|     const impl = 'pypy' + majorVersion.toString(); |     const impl = 'pypy' + majorVersion.toString(); | ||||||
|     core.setOutput('python-version', impl); |     core.setOutput('python-version', impl); | ||||||
|     return { impl: impl, version: versionFromPath(installDir) }; |     return { impl: impl, version: versionFromPath(installDir) }; | ||||||
| @@ -6421,9 +6517,10 @@ function findPythonVersion(version, architecture) { | |||||||
|     return __awaiter(this, void 0, void 0, function* () { |     return __awaiter(this, void 0, void 0, function* () { | ||||||
|         switch (version.toUpperCase()) { |         switch (version.toUpperCase()) { | ||||||
|             case 'PYPY2': |             case 'PYPY2': | ||||||
|                 return usePyPy(2, architecture); |                 return usePyPy('2', architecture); | ||||||
|             case 'PYPY3': |             case 'PYPY3': | ||||||
|                 return usePyPy(3, architecture); |                 // keep pypy3 pointing to 3.6 for backward compatibility | ||||||
|  |                 return usePyPy('3.6', architecture); | ||||||
|             default: |             default: | ||||||
|                 return yield useCpythonVersion(version, architecture); |                 return yield useCpythonVersion(version, architecture); | ||||||
|         } |         } | ||||||
|   | |||||||
							
								
								
									
										6
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -5,9 +5,9 @@ | |||||||
|   "requires": true, |   "requires": true, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@actions/core": { |     "@actions/core": { | ||||||
|       "version": "1.2.3", |       "version": "1.2.6", | ||||||
|       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.3.tgz", |       "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz", | ||||||
|       "integrity": "sha512-Wp4xnyokakM45Uuj4WLUxdsa8fJjKVl1fDTsPbTEcTcuu0Nb26IPQbOtjmnfaCPGcaoPOOqId8H9NapZ8gii4w==" |       "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA==" | ||||||
|     }, |     }, | ||||||
|     "@actions/exec": { |     "@actions/exec": { | ||||||
|       "version": "1.0.3", |       "version": "1.0.3", | ||||||
|   | |||||||
| @@ -23,7 +23,7 @@ | |||||||
|   "author": "GitHub", |   "author": "GitHub", | ||||||
|   "license": "MIT", |   "license": "MIT", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@actions/core": "^1.2.3", |     "@actions/core": "^1.2.6", | ||||||
|     "semver": "^7.1.3" |     "semver": "^7.1.3" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|   | |||||||
| @@ -51,8 +51,11 @@ function binDir(installDir: string): string { | |||||||
| // A particular version of PyPy may contain one or more versions of the Python interpreter. | // A particular version of PyPy may contain one or more versions of the Python interpreter. | ||||||
| // For example, PyPy 7.0 contains Python 2.7, 3.5, and 3.6-alpha. | // For example, PyPy 7.0 contains Python 2.7, 3.5, and 3.6-alpha. | ||||||
| // We only care about the Python version, so we don't use the PyPy version for the tool cache. | // We only care about the Python version, so we don't use the PyPy version for the tool cache. | ||||||
| function usePyPy(majorVersion: 2 | 3, architecture: string): InstalledVersion { | function usePyPy( | ||||||
|   const findPyPy = tc.find.bind(undefined, 'PyPy', majorVersion.toString()); |   majorVersion: '2' | '3.6', | ||||||
|  |   architecture: string | ||||||
|  | ): InstalledVersion { | ||||||
|  |   const findPyPy = tc.find.bind(undefined, 'PyPy', majorVersion); | ||||||
|   let installDir: string | null = findPyPy(architecture); |   let installDir: string | null = findPyPy(architecture); | ||||||
|  |  | ||||||
|   if (!installDir && IS_WINDOWS) { |   if (!installDir && IS_WINDOWS) { | ||||||
| @@ -77,6 +80,10 @@ function usePyPy(majorVersion: 2 | 3, architecture: string): InstalledVersion { | |||||||
|  |  | ||||||
|   core.addPath(installDir); |   core.addPath(installDir); | ||||||
|   core.addPath(_binDir); |   core.addPath(_binDir); | ||||||
|  |   // Starting from PyPy 7.3.1, the folder that is used for pip and anything that pip installs should be "Scripts" on Windows. | ||||||
|  |   if (IS_WINDOWS) { | ||||||
|  |     core.addPath(path.join(installDir, 'Scripts')); | ||||||
|  |   } | ||||||
|  |  | ||||||
|   const impl = 'pypy' + majorVersion.toString(); |   const impl = 'pypy' + majorVersion.toString(); | ||||||
|   core.setOutput('python-version', impl); |   core.setOutput('python-version', impl); | ||||||
| @@ -186,9 +193,10 @@ export async function findPythonVersion( | |||||||
| ): Promise<InstalledVersion> { | ): Promise<InstalledVersion> { | ||||||
|   switch (version.toUpperCase()) { |   switch (version.toUpperCase()) { | ||||||
|     case 'PYPY2': |     case 'PYPY2': | ||||||
|       return usePyPy(2, architecture); |       return usePyPy('2', architecture); | ||||||
|     case 'PYPY3': |     case 'PYPY3': | ||||||
|       return usePyPy(3, architecture); |       // keep pypy3 pointing to 3.6 for backward compatibility | ||||||
|  |       return usePyPy('3.6', architecture); | ||||||
|     default: |     default: | ||||||
|       return await useCpythonVersion(version, architecture); |       return await useCpythonVersion(version, architecture); | ||||||
|   } |   } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user