@@ -91441,7 +91441,8 @@ function installPyPy(pypyVersion, pythonVersion, architecture, allowPreReleases,
91441
91441
const downloadUrl = `${foundAsset.download_url}`;
91442
91442
core.info(`Downloading PyPy from "${downloadUrl}" ...`);
91443
91443
try {
91444
- const pypyPath = yield tc.downloadTool(downloadUrl);
91444
+ const fileName = (0, utils_1.getDownloadFileName)(downloadUrl);
91445
+ const pypyPath = yield tc.downloadTool(downloadUrl, fileName);
91445
91446
core.info('Extracting downloaded archive...');
91446
91447
if (utils_1.IS_WINDOWS) {
91447
91448
downloadDir = yield tc.extractZip(pypyPath);
@@ -91703,7 +91704,8 @@ function installCpythonFromRelease(release) {
91703
91704
core.info(`Download from "${downloadUrl}"`);
91704
91705
let pythonPath = '';
91705
91706
try {
91706
- pythonPath = yield tc.downloadTool(downloadUrl, undefined, AUTH);
91707
+ const fileName = (0, utils_1.getDownloadFileName)(downloadUrl);
91708
+ pythonPath = yield tc.downloadTool(downloadUrl, fileName, AUTH);
91707
91709
core.info('Extract downloaded archive');
91708
91710
let pythonExtractedFolder;
91709
91711
if (utils_1.IS_WINDOWS) {
@@ -91938,7 +91940,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
91938
91940
return (mod && mod.__esModule) ? mod : { "default": mod };
91939
91941
};
91940
91942
Object.defineProperty(exports, "__esModule", ({ value: true }));
91941
- exports.getNextPageUrl = exports.getBinaryDirectory = exports.getVersionInputFromFile = exports.getVersionInputFromPlainFile = 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;
91943
+ exports.getDownloadFileName = exports. getNextPageUrl = exports.getBinaryDirectory = exports.getVersionInputFromFile = exports.getVersionInputFromPlainFile = 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;
91942
91944
/* eslint no-unsafe-finally: "off" */
91943
91945
const cache = __importStar(__nccwpck_require__(7799));
91944
91946
const core = __importStar(__nccwpck_require__(2186));
@@ -92198,6 +92200,20 @@ function getNextPageUrl(response) {
92198
92200
return null;
92199
92201
}
92200
92202
exports.getNextPageUrl = getNextPageUrl;
92203
+ /**
92204
+ * Add temporary fix for Windows
92205
+ * On Windows, it is necessary to retain the .zip extension for proper extraction.
92206
+ * because the tc.extractZip() failure due to tc.downloadTool() not adding .zip extension.
92207
+ * Related issue: https://github.com/actions/toolkit/issues/1179
92208
+ * Related issue: https://github.com/actions/setup-python/issues/819
92209
+ */
92210
+ function getDownloadFileName(downloadUrl) {
92211
+ const tempDir = process.env.RUNNER_TEMP || '.';
92212
+ return exports.IS_WINDOWS
92213
+ ? path.join(tempDir, path.basename(downloadUrl))
92214
+ : undefined;
92215
+ }
92216
+ exports.getDownloadFileName = getDownloadFileName;
92201
92217
92202
92218
92203
92219
/***/ }),
0 commit comments