diff --git a/dist/cache-save/index.js b/dist/cache-save/index.js
index bf061491c..620a15aa0 100644
--- a/dist/cache-save/index.js
+++ b/dist/cache-save/index.js
@@ -6,6 +6,29 @@
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -15,14 +38,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-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 }));
+exports.saveCache = exports.restoreCache = exports.isFeatureAvailable = exports.ReserveCacheError = exports.ValidationError = void 0;
const core = __importStar(__nccwpck_require__(2186));
const path = __importStar(__nccwpck_require__(1017));
const utils = __importStar(__nccwpck_require__(1518));
@@ -74,9 +91,10 @@ exports.isFeatureAvailable = isFeatureAvailable;
* @param primaryKey an explicit key for restoring the cache
* @param restoreKeys an optional ordered list of keys to use for restoring the cache if no cache hit occurred for key
* @param downloadOptions cache download options
+ * @param enableCrossOsArchive an optional boolean enabled to restore on windows any cache created on any platform
* @returns string returns the key for the cache hit, otherwise returns undefined
*/
-function restoreCache(paths, primaryKey, restoreKeys, options) {
+function restoreCache(paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
return __awaiter(this, void 0, void 0, function* () {
checkPaths(paths);
restoreKeys = restoreKeys || [];
@@ -94,22 +112,27 @@ function restoreCache(paths, primaryKey, restoreKeys, options) {
try {
// path are needed to compute version
const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, {
- compressionMethod
+ compressionMethod,
+ enableCrossOsArchive
});
if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) {
// Cache not found
return undefined;
}
+ if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
+ core.info('Lookup only - skipping download');
+ return cacheEntry.cacheKey;
+ }
archivePath = path.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
core.debug(`Archive Path: ${archivePath}`);
// Download the cache from the cache entry
yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
if (core.isDebug()) {
- yield tar_1.listTar(archivePath, compressionMethod);
+ yield (0, tar_1.listTar)(archivePath, compressionMethod);
}
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
core.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
- yield tar_1.extractTar(archivePath, compressionMethod);
+ yield (0, tar_1.extractTar)(archivePath, compressionMethod);
core.info('Cache restored successfully');
return cacheEntry.cacheKey;
}
@@ -141,10 +164,11 @@ exports.restoreCache = restoreCache;
*
* @param paths a list of file paths to be cached
* @param key an explicit key for restoring the cache
+ * @param enableCrossOsArchive an optional boolean enabled to save cache on windows which could be restored on any platform
* @param options cache upload options
* @returns number returns cacheId if the cache was saved successfully and throws an error if save fails
*/
-function saveCache(paths, key, options) {
+function saveCache(paths, key, options, enableCrossOsArchive = false) {
var _a, _b, _c, _d, _e;
return __awaiter(this, void 0, void 0, function* () {
checkPaths(paths);
@@ -161,9 +185,9 @@ function saveCache(paths, key, options) {
const archivePath = path.join(archiveFolder, utils.getCacheFileName(compressionMethod));
core.debug(`Archive Path: ${archivePath}`);
try {
- yield tar_1.createTar(archiveFolder, cachePaths, compressionMethod);
+ yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
if (core.isDebug()) {
- yield tar_1.listTar(archivePath, compressionMethod);
+ yield (0, tar_1.listTar)(archivePath, compressionMethod);
}
const fileSizeLimit = 10 * 1024 * 1024 * 1024; // 10GB per repo limit
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
@@ -175,6 +199,7 @@ function saveCache(paths, key, options) {
core.debug('Reserving Cache');
const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, {
compressionMethod,
+ enableCrossOsArchive,
cacheSize: archiveFileSize
});
if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) {
@@ -223,6 +248,29 @@ exports.saveCache = saveCache;
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -232,14 +280,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-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 }));
+exports.saveCache = exports.reserveCache = exports.downloadCache = exports.getCacheEntry = exports.getCacheVersion = void 0;
const core = __importStar(__nccwpck_require__(2186));
const http_client_1 = __nccwpck_require__(1825);
const auth_1 = __nccwpck_require__(2001);
@@ -247,7 +289,6 @@ const crypto = __importStar(__nccwpck_require__(6113));
const fs = __importStar(__nccwpck_require__(7147));
const url_1 = __nccwpck_require__(7310);
const utils = __importStar(__nccwpck_require__(1518));
-const constants_1 = __nccwpck_require__(8840);
const downloadUtils_1 = __nccwpck_require__(5500);
const options_1 = __nccwpck_require__(6215);
const requestUtils_1 = __nccwpck_require__(3981);
@@ -277,10 +318,17 @@ function createHttpClient() {
const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token);
return new http_client_1.HttpClient('actions/cache', [bearerCredentialHandler], getRequestOptions());
}
-function getCacheVersion(paths, compressionMethod) {
- const components = paths.concat(!compressionMethod || compressionMethod === constants_1.CompressionMethod.Gzip
- ? []
- : [compressionMethod]);
+function getCacheVersion(paths, compressionMethod, enableCrossOsArchive = false) {
+ const components = paths;
+ // Add compression method to cache version to restore
+ // compressed cache as per compression method
+ if (compressionMethod) {
+ components.push(compressionMethod);
+ }
+ // Only check for windows platforms if enableCrossOsArchive is false
+ if (process.platform === 'win32' && !enableCrossOsArchive) {
+ components.push('windows-only');
+ }
// Add salt to cache version to support breaking changes in cache entry
components.push(versionSalt);
return crypto
@@ -292,18 +340,24 @@ exports.getCacheVersion = getCacheVersion;
function getCacheEntry(keys, paths, options) {
return __awaiter(this, void 0, void 0, function* () {
const httpClient = createHttpClient();
- const version = getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod);
+ const version = getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
const resource = `cache?keys=${encodeURIComponent(keys.join(','))}&version=${version}`;
- const response = yield requestUtils_1.retryTypedResponse('getCacheEntry', () => __awaiter(this, void 0, void 0, function* () { return httpClient.getJson(getCacheApiUrl(resource)); }));
+ const response = yield (0, requestUtils_1.retryTypedResponse)('getCacheEntry', () => __awaiter(this, void 0, void 0, function* () { return httpClient.getJson(getCacheApiUrl(resource)); }));
+ // Cache not found
if (response.statusCode === 204) {
+ // List cache for primary key only if cache miss occurs
+ if (core.isDebug()) {
+ yield printCachesListForDiagnostics(keys[0], httpClient, version);
+ }
return null;
}
- if (!requestUtils_1.isSuccessStatusCode(response.statusCode)) {
+ if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) {
throw new Error(`Cache service responded with ${response.statusCode}`);
}
const cacheResult = response.result;
const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation;
if (!cacheDownloadUrl) {
+ // Cache achiveLocation not found. This should never happen, and hence bail out.
throw new Error('Cache not found.');
}
core.setSecret(cacheDownloadUrl);
@@ -313,18 +367,34 @@ function getCacheEntry(keys, paths, options) {
});
}
exports.getCacheEntry = getCacheEntry;
+function printCachesListForDiagnostics(key, httpClient, version) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const resource = `caches?key=${encodeURIComponent(key)}`;
+ const response = yield (0, requestUtils_1.retryTypedResponse)('listCache', () => __awaiter(this, void 0, void 0, function* () { return httpClient.getJson(getCacheApiUrl(resource)); }));
+ if (response.statusCode === 200) {
+ const cacheListResult = response.result;
+ const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount;
+ if (totalCount && totalCount > 0) {
+ core.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env['GITHUB_REF']}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key \nOther caches with similar key:`);
+ for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) {
+ core.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`);
+ }
+ }
+ }
+ });
+}
function downloadCache(archiveLocation, archivePath, options) {
return __awaiter(this, void 0, void 0, function* () {
const archiveUrl = new url_1.URL(archiveLocation);
- const downloadOptions = options_1.getDownloadOptions(options);
+ const downloadOptions = (0, options_1.getDownloadOptions)(options);
if (downloadOptions.useAzureSdk &&
archiveUrl.hostname.endsWith('.blob.core.windows.net')) {
// Use Azure storage SDK to download caches hosted on Azure to improve speed and reliability.
- yield downloadUtils_1.downloadCacheStorageSDK(archiveLocation, archivePath, downloadOptions);
+ yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions);
}
else {
// Otherwise, download using the Actions http-client.
- yield downloadUtils_1.downloadCacheHttpClient(archiveLocation, archivePath);
+ yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
}
});
}
@@ -333,13 +403,13 @@ exports.downloadCache = downloadCache;
function reserveCache(key, paths, options) {
return __awaiter(this, void 0, void 0, function* () {
const httpClient = createHttpClient();
- const version = getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod);
+ const version = getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
const reserveCacheRequest = {
key,
version,
cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize
};
- const response = yield requestUtils_1.retryTypedResponse('reserveCache', () => __awaiter(this, void 0, void 0, function* () {
+ const response = yield (0, requestUtils_1.retryTypedResponse)('reserveCache', () => __awaiter(this, void 0, void 0, function* () {
return httpClient.postJson(getCacheApiUrl('caches'), reserveCacheRequest);
}));
return response;
@@ -363,10 +433,10 @@ function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
'Content-Type': 'application/octet-stream',
'Content-Range': getContentRange(start, end)
};
- const uploadChunkResponse = yield requestUtils_1.retryHttpClientResponse(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter(this, void 0, void 0, function* () {
+ const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter(this, void 0, void 0, function* () {
return httpClient.sendStream('PATCH', resourceUrl, openStream(), additionalHeaders);
}));
- if (!requestUtils_1.isSuccessStatusCode(uploadChunkResponse.message.statusCode)) {
+ if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) {
throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`);
}
});
@@ -377,7 +447,7 @@ function uploadFile(httpClient, cacheId, archivePath, options) {
const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
const fd = fs.openSync(archivePath, 'r');
- const uploadOptions = options_1.getUploadOptions(options);
+ const uploadOptions = (0, options_1.getUploadOptions)(options);
const concurrency = utils.assertDefined('uploadConcurrency', uploadOptions.uploadConcurrency);
const maxChunkSize = utils.assertDefined('uploadChunkSize', uploadOptions.uploadChunkSize);
const parallelUploads = [...new Array(concurrency).keys()];
@@ -412,7 +482,7 @@ function uploadFile(httpClient, cacheId, archivePath, options) {
function commitCache(httpClient, cacheId, filesize) {
return __awaiter(this, void 0, void 0, function* () {
const commitCacheRequest = { size: filesize };
- return yield requestUtils_1.retryTypedResponse('commitCache', () => __awaiter(this, void 0, void 0, function* () {
+ return yield (0, requestUtils_1.retryTypedResponse)('commitCache', () => __awaiter(this, void 0, void 0, function* () {
return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest);
}));
});
@@ -427,7 +497,7 @@ function saveCache(cacheId, archivePath, options) {
const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
core.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
- if (!requestUtils_1.isSuccessStatusCode(commitCacheResponse.statusCode)) {
+ if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) {
throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`);
}
core.info('Cache saved successfully');
@@ -443,6 +513,29 @@ exports.saveCache = saveCache;
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -459,14 +552,8 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
};
-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 }));
+exports.isGhes = exports.assertDefined = exports.getGnuTarPathOnWindows = exports.getCacheFileName = exports.getCompressionMethod = exports.unlinkFile = exports.resolvePaths = exports.getArchiveFileSizeInBytes = exports.createTempDirectory = void 0;
const core = __importStar(__nccwpck_require__(2186));
const exec = __importStar(__nccwpck_require__(1514));
const glob = __importStar(__nccwpck_require__(1597));
@@ -498,7 +585,7 @@ function createTempDirectory() {
}
tempDirectory = path.join(baseLocation, 'actions', 'temp');
}
- const dest = path.join(tempDirectory, uuid_1.v4());
+ const dest = path.join(tempDirectory, (0, uuid_1.v4)());
yield io.mkdirP(dest);
return dest;
});
@@ -551,12 +638,13 @@ function unlinkFile(filePath) {
});
}
exports.unlinkFile = unlinkFile;
-function getVersion(app) {
+function getVersion(app, additionalArgs = []) {
return __awaiter(this, void 0, void 0, function* () {
- core.debug(`Checking ${app} --version`);
let versionOutput = '';
+ additionalArgs.push('--version');
+ core.debug(`Checking ${app} ${additionalArgs.join(' ')}`);
try {
- yield exec.exec(`${app} --version`, [], {
+ yield exec.exec(`${app}`, additionalArgs, {
ignoreReturnCode: true,
silent: true,
listeners: {
@@ -576,23 +664,14 @@ function getVersion(app) {
// Use zstandard if possible to maximize cache performance
function getCompressionMethod() {
return __awaiter(this, void 0, void 0, function* () {
- if (process.platform === 'win32' && !(yield isGnuTarInstalled())) {
- // Disable zstd due to bug https://github.com/actions/cache/issues/301
- return constants_1.CompressionMethod.Gzip;
- }
- const versionOutput = yield getVersion('zstd');
+ const versionOutput = yield getVersion('zstd', ['--quiet']);
const version = semver.clean(versionOutput);
- if (!versionOutput.toLowerCase().includes('zstd command line interface')) {
- // zstd is not installed
+ core.debug(`zstd version: ${version}`);
+ if (versionOutput === '') {
return constants_1.CompressionMethod.Gzip;
}
- else if (!version || semver.lt(version, 'v1.3.2')) {
- // zstd is installed but using a version earlier than v1.3.2
- // v1.3.2 is required to use the `--long` options in zstd
- return constants_1.CompressionMethod.ZstdWithoutLong;
- }
else {
- return constants_1.CompressionMethod.Zstd;
+ return constants_1.CompressionMethod.ZstdWithoutLong;
}
});
}
@@ -603,13 +682,16 @@ function getCacheFileName(compressionMethod) {
: constants_1.CacheFilename.Zstd;
}
exports.getCacheFileName = getCacheFileName;
-function isGnuTarInstalled() {
+function getGnuTarPathOnWindows() {
return __awaiter(this, void 0, void 0, function* () {
+ if (fs.existsSync(constants_1.GnuTarPathOnWindows)) {
+ return constants_1.GnuTarPathOnWindows;
+ }
const versionOutput = yield getVersion('tar');
- return versionOutput.toLowerCase().includes('gnu tar');
+ return versionOutput.toLowerCase().includes('gnu tar') ? io.which('tar') : '';
});
}
-exports.isGnuTarInstalled = isGnuTarInstalled;
+exports.getGnuTarPathOnWindows = getGnuTarPathOnWindows;
function assertDefined(name, value) {
if (value === undefined) {
throw Error(`Expected ${name} but value was undefiend`);
@@ -632,6 +714,7 @@ exports.isGhes = isGhes;
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ManifestFilename = exports.TarFilename = exports.SystemTarPathOnWindows = exports.GnuTarPathOnWindows = exports.SocketTimeout = exports.DefaultRetryDelay = exports.DefaultRetryAttempts = exports.ArchiveToolType = exports.CompressionMethod = exports.CacheFilename = void 0;
var CacheFilename;
(function (CacheFilename) {
CacheFilename["Gzip"] = "cache.tgz";
@@ -645,6 +728,11 @@ var CompressionMethod;
CompressionMethod["ZstdWithoutLong"] = "zstd-without-long";
CompressionMethod["Zstd"] = "zstd";
})(CompressionMethod = exports.CompressionMethod || (exports.CompressionMethod = {}));
+var ArchiveToolType;
+(function (ArchiveToolType) {
+ ArchiveToolType["GNU"] = "gnu";
+ ArchiveToolType["BSD"] = "bsd";
+})(ArchiveToolType = exports.ArchiveToolType || (exports.ArchiveToolType = {}));
// The default number of retry attempts.
exports.DefaultRetryAttempts = 2;
// The default delay in milliseconds between retry attempts.
@@ -653,6 +741,12 @@ exports.DefaultRetryDelay = 5000;
// over the socket during this period, the socket is destroyed and the download
// is aborted.
exports.SocketTimeout = 5000;
+// The default path of GNUtar on hosted Windows runners
+exports.GnuTarPathOnWindows = `${process.env['PROGRAMFILES']}\\Git\\usr\\bin\\tar.exe`;
+// The default path of BSDtar on hosted Windows runners
+exports.SystemTarPathOnWindows = `${process.env['SYSTEMDRIVE']}\\Windows\\System32\\tar.exe`;
+exports.TarFilename = 'cache.tar';
+exports.ManifestFilename = 'manifest.txt';
//# sourceMappingURL=constants.js.map
/***/ }),
@@ -662,6 +756,29 @@ exports.SocketTimeout = 5000;
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -671,14 +788,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-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 }));
+exports.downloadCacheStorageSDK = exports.downloadCacheHttpClient = exports.DownloadProgress = void 0;
const core = __importStar(__nccwpck_require__(2186));
const http_client_1 = __nccwpck_require__(1825);
const storage_blob_1 = __nccwpck_require__(4100);
@@ -813,7 +924,7 @@ function downloadCacheHttpClient(archiveLocation, archivePath) {
return __awaiter(this, void 0, void 0, function* () {
const writeStream = fs.createWriteStream(archivePath);
const httpClient = new http_client_1.HttpClient('actions/cache');
- const downloadResponse = yield requestUtils_1.retryHttpClientResponse('downloadCache', () => __awaiter(this, void 0, void 0, function* () { return httpClient.get(archiveLocation); }));
+ const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)('downloadCache', () => __awaiter(this, void 0, void 0, function* () { return httpClient.get(archiveLocation); }));
// Abort download if no traffic received over the socket.
downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => {
downloadResponse.message.destroy();
@@ -868,7 +979,8 @@ function downloadCacheStorageSDK(archiveLocation, archivePath, options) {
// If the file exceeds the buffer maximum length (~1 GB on 32-bit systems and ~2 GB
// on 64-bit systems), split the download into multiple segments
// ~2 GB = 2147483647, beyond this, we start getting out of range error. So, capping it accordingly.
- const maxSegmentSize = Math.min(2147483647, buffer.constants.MAX_LENGTH);
+ // Updated segment size to 128MB = 134217728 bytes, to complete a segment faster and fail fast
+ const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH);
const downloadProgress = new DownloadProgress(contentLength);
const fd = fs.openSync(archivePath, 'w');
try {
@@ -920,6 +1032,29 @@ const promiseWithTimeout = (timeoutMs, promise) => __awaiter(void 0, void 0, voi
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -929,14 +1064,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-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 }));
+exports.retryHttpClientResponse = exports.retryTypedResponse = exports.retry = exports.isRetryableStatusCode = exports.isServerErrorStatusCode = exports.isSuccessStatusCode = void 0;
const core = __importStar(__nccwpck_require__(2186));
const http_client_1 = __nccwpck_require__(1825);
const constants_1 = __nccwpck_require__(8840);
@@ -1047,6 +1176,29 @@ exports.retryHttpClientResponse = retryHttpClientResponse;
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -1056,14 +1208,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-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 }));
+exports.createTar = exports.extractTar = exports.listTar = void 0;
const exec_1 = __nccwpck_require__(1514);
const io = __importStar(__nccwpck_require__(7436));
const fs_1 = __nccwpck_require__(7147);
@@ -1071,21 +1217,19 @@ const path = __importStar(__nccwpck_require__(1017));
const utils = __importStar(__nccwpck_require__(1518));
const constants_1 = __nccwpck_require__(8840);
const IS_WINDOWS = process.platform === 'win32';
-function getTarPath(args, compressionMethod) {
+// Returns tar path and type: BSD or GNU
+function getTarPath() {
return __awaiter(this, void 0, void 0, function* () {
switch (process.platform) {
case 'win32': {
- const systemTar = `${process.env['windir']}\\System32\\tar.exe`;
- if (compressionMethod !== constants_1.CompressionMethod.Gzip) {
- // We only use zstandard compression on windows when gnu tar is installed due to
- // a bug with compressing large files with bsdtar + zstd
- args.push('--force-local');
+ const gnuTar = yield utils.getGnuTarPathOnWindows();
+ const systemTar = constants_1.SystemTarPathOnWindows;
+ if (gnuTar) {
+ // Use GNUtar as default on windows
+ return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
}
- else if (fs_1.existsSync(systemTar)) {
- return systemTar;
- }
- else if (yield utils.isGnuTarInstalled()) {
- args.push('--force-local');
+ else if ((0, fs_1.existsSync)(systemTar)) {
+ return { path: systemTar, type: constants_1.ArchiveToolType.BSD };
}
break;
}
@@ -1093,25 +1237,92 @@ function getTarPath(args, compressionMethod) {
const gnuTar = yield io.which('gtar', false);
if (gnuTar) {
// fix permission denied errors when extracting BSD tar archive with GNU tar - https://github.com/actions/cache/issues/527
- args.push('--delay-directory-restore');
- return gnuTar;
+ return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
+ }
+ else {
+ return {
+ path: yield io.which('tar', true),
+ type: constants_1.ArchiveToolType.BSD
+ };
}
- break;
}
default:
break;
}
- return yield io.which('tar', true);
+ // Default assumption is GNU tar is present in path
+ return {
+ path: yield io.which('tar', true),
+ type: constants_1.ArchiveToolType.GNU
+ };
});
}
-function execTar(args, compressionMethod, cwd) {
+// Return arguments for tar as per tarPath, compressionMethod, method type and os
+function getTarArgs(tarPath, compressionMethod, type, archivePath = '') {
return __awaiter(this, void 0, void 0, function* () {
- try {
- yield exec_1.exec(`"${yield getTarPath(args, compressionMethod)}"`, args, { cwd });
+ const args = [`"${tarPath.path}"`];
+ const cacheFileName = utils.getCacheFileName(compressionMethod);
+ const tarFile = 'cache.tar';
+ const workingDirectory = getWorkingDirectory();
+ // Speficic args for BSD tar on windows for workaround
+ const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD &&
+ compressionMethod !== constants_1.CompressionMethod.Gzip &&
+ IS_WINDOWS;
+ // Method specific args
+ switch (type) {
+ case 'create':
+ args.push('--posix', '-cf', BSD_TAR_ZSTD
+ ? tarFile
+ : cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '--exclude', BSD_TAR_ZSTD
+ ? tarFile
+ : cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '-P', '-C', workingDirectory.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '--files-from', constants_1.ManifestFilename);
+ break;
+ case 'extract':
+ args.push('-xf', BSD_TAR_ZSTD
+ ? tarFile
+ : archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '-P', '-C', workingDirectory.replace(new RegExp(`\\${path.sep}`, 'g'), '/'));
+ break;
+ case 'list':
+ args.push('-tf', BSD_TAR_ZSTD
+ ? tarFile
+ : archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '-P');
+ break;
}
- catch (error) {
- throw new Error(`Tar failed with error: ${error === null || error === void 0 ? void 0 : error.message}`);
+ // Platform specific args
+ if (tarPath.type === constants_1.ArchiveToolType.GNU) {
+ switch (process.platform) {
+ case 'win32':
+ args.push('--force-local');
+ break;
+ case 'darwin':
+ args.push('--delay-directory-restore');
+ break;
+ }
}
+ return args;
+ });
+}
+// Returns commands to run tar and compression program
+function getCommands(compressionMethod, type, archivePath = '') {
+ return __awaiter(this, void 0, void 0, function* () {
+ let args;
+ const tarPath = yield getTarPath();
+ const tarArgs = yield getTarArgs(tarPath, compressionMethod, type, archivePath);
+ const compressionArgs = type !== 'create'
+ ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath)
+ : yield getCompressionProgram(tarPath, compressionMethod);
+ const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD &&
+ compressionMethod !== constants_1.CompressionMethod.Gzip &&
+ IS_WINDOWS;
+ if (BSD_TAR_ZSTD && type !== 'create') {
+ args = [[...compressionArgs].join(' '), [...tarArgs].join(' ')];
+ }
+ else {
+ args = [[...tarArgs].join(' '), [...compressionArgs].join(' ')];
+ }
+ if (BSD_TAR_ZSTD) {
+ return args;
+ }
+ return [args.join(' ')];
});
}
function getWorkingDirectory() {
@@ -1119,91 +1330,119 @@ function getWorkingDirectory() {
return (_a = process.env['GITHUB_WORKSPACE']) !== null && _a !== void 0 ? _a : process.cwd();
}
// Common function for extractTar and listTar to get the compression method
-function getCompressionProgram(compressionMethod) {
- // -d: Decompress.
- // unzstd is equivalent to 'zstd -d'
- // --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit.
- // Using 30 here because we also support 32-bit self-hosted runners.
- switch (compressionMethod) {
- case constants_1.CompressionMethod.Zstd:
- return [
- '--use-compress-program',
- IS_WINDOWS ? 'zstd -d --long=30' : 'unzstd --long=30'
- ];
- case constants_1.CompressionMethod.ZstdWithoutLong:
- return ['--use-compress-program', IS_WINDOWS ? 'zstd -d' : 'unzstd'];
- default:
- return ['-z'];
- }
+function getDecompressionProgram(tarPath, compressionMethod, archivePath) {
+ return __awaiter(this, void 0, void 0, function* () {
+ // -d: Decompress.
+ // unzstd is equivalent to 'zstd -d'
+ // --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit.
+ // Using 30 here because we also support 32-bit self-hosted runners.
+ const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD &&
+ compressionMethod !== constants_1.CompressionMethod.Gzip &&
+ IS_WINDOWS;
+ switch (compressionMethod) {
+ case constants_1.CompressionMethod.Zstd:
+ return BSD_TAR_ZSTD
+ ? [
+ 'zstd -d --long=30 --force -o',
+ constants_1.TarFilename,
+ archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/')
+ ]
+ : [
+ '--use-compress-program',
+ IS_WINDOWS ? '"zstd -d --long=30"' : 'unzstd --long=30'
+ ];
+ case constants_1.CompressionMethod.ZstdWithoutLong:
+ return BSD_TAR_ZSTD
+ ? [
+ 'zstd -d --force -o',
+ constants_1.TarFilename,
+ archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/')
+ ]
+ : ['--use-compress-program', IS_WINDOWS ? '"zstd -d"' : 'unzstd'];
+ default:
+ return ['-z'];
+ }
+ });
}
+// Used for creating the archive
+// -T#: Compress using # working thread. If # is 0, attempt to detect and use the number of physical CPU cores.
+// zstdmt is equivalent to 'zstd -T0'
+// --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit.
+// Using 30 here because we also support 32-bit self-hosted runners.
+// Long range mode is added to zstd in v1.3.2 release, so we will not use --long in older version of zstd.
+function getCompressionProgram(tarPath, compressionMethod) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const cacheFileName = utils.getCacheFileName(compressionMethod);
+ const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD &&
+ compressionMethod !== constants_1.CompressionMethod.Gzip &&
+ IS_WINDOWS;
+ switch (compressionMethod) {
+ case constants_1.CompressionMethod.Zstd:
+ return BSD_TAR_ZSTD
+ ? [
+ 'zstd -T0 --long=30 --force -o',
+ cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
+ constants_1.TarFilename
+ ]
+ : [
+ '--use-compress-program',
+ IS_WINDOWS ? '"zstd -T0 --long=30"' : 'zstdmt --long=30'
+ ];
+ case constants_1.CompressionMethod.ZstdWithoutLong:
+ return BSD_TAR_ZSTD
+ ? [
+ 'zstd -T0 --force -o',
+ cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
+ constants_1.TarFilename
+ ]
+ : ['--use-compress-program', IS_WINDOWS ? '"zstd -T0"' : 'zstdmt'];
+ default:
+ return ['-z'];
+ }
+ });
+}
+// Executes all commands as separate processes
+function execCommands(commands, cwd) {
+ return __awaiter(this, void 0, void 0, function* () {
+ for (const command of commands) {
+ try {
+ yield (0, exec_1.exec)(command, undefined, {
+ cwd,
+ env: Object.assign(Object.assign({}, process.env), { MSYS: 'winsymlinks:nativestrict' })
+ });
+ }
+ catch (error) {
+ throw new Error(`${command.split(' ')[0]} failed with error: ${error === null || error === void 0 ? void 0 : error.message}`);
+ }
+ }
+ });
+}
+// List the contents of a tar
function listTar(archivePath, compressionMethod) {
return __awaiter(this, void 0, void 0, function* () {
- const args = [
- ...getCompressionProgram(compressionMethod),
- '-tf',
- archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
- '-P'
- ];
- yield execTar(args, compressionMethod);
+ const commands = yield getCommands(compressionMethod, 'list', archivePath);
+ yield execCommands(commands);
});
}
exports.listTar = listTar;
+// Extract a tar
function extractTar(archivePath, compressionMethod) {
return __awaiter(this, void 0, void 0, function* () {
// Create directory to extract tar into
const workingDirectory = getWorkingDirectory();
yield io.mkdirP(workingDirectory);
- const args = [
- ...getCompressionProgram(compressionMethod),
- '-xf',
- archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
- '-P',
- '-C',
- workingDirectory.replace(new RegExp(`\\${path.sep}`, 'g'), '/')
- ];
- yield execTar(args, compressionMethod);
+ const commands = yield getCommands(compressionMethod, 'extract', archivePath);
+ yield execCommands(commands);
});
}
exports.extractTar = extractTar;
+// Create a tar
function createTar(archiveFolder, sourceDirectories, compressionMethod) {
return __awaiter(this, void 0, void 0, function* () {
// Write source directories to manifest.txt to avoid command length limits
- const manifestFilename = 'manifest.txt';
- const cacheFileName = utils.getCacheFileName(compressionMethod);
- fs_1.writeFileSync(path.join(archiveFolder, manifestFilename), sourceDirectories.join('\n'));
- const workingDirectory = getWorkingDirectory();
- // -T#: Compress using # working thread. If # is 0, attempt to detect and use the number of physical CPU cores.
- // zstdmt is equivalent to 'zstd -T0'
- // --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit.
- // Using 30 here because we also support 32-bit self-hosted runners.
- // Long range mode is added to zstd in v1.3.2 release, so we will not use --long in older version of zstd.
- function getCompressionProgram() {
- switch (compressionMethod) {
- case constants_1.CompressionMethod.Zstd:
- return [
- '--use-compress-program',
- IS_WINDOWS ? 'zstd -T0 --long=30' : 'zstdmt --long=30'
- ];
- case constants_1.CompressionMethod.ZstdWithoutLong:
- return ['--use-compress-program', IS_WINDOWS ? 'zstd -T0' : 'zstdmt'];
- default:
- return ['-z'];
- }
- }
- const args = [
- '--posix',
- ...getCompressionProgram(),
- '-cf',
- cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
- '--exclude',
- cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
- '-P',
- '-C',
- workingDirectory.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
- '--files-from',
- manifestFilename
- ];
- yield execTar(args, compressionMethod, archiveFolder);
+ (0, fs_1.writeFileSync)(path.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join('\n'));
+ const commands = yield getCommands(compressionMethod, 'create');
+ yield execCommands(commands, archiveFolder);
});
}
exports.createTar = createTar;
@@ -1216,14 +1455,31 @@ exports.createTar = createTar;
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
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;
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.getDownloadOptions = exports.getUploadOptions = void 0;
const core = __importStar(__nccwpck_require__(2186));
/**
* Returns a copy of the upload options with defaults filled in.
@@ -1258,7 +1514,8 @@ function getDownloadOptions(copy) {
useAzureSdk: true,
downloadConcurrency: 8,
timeoutInMs: 30000,
- segmentTimeoutInMs: 3600000
+ segmentTimeoutInMs: 600000,
+ lookupOnly: false
};
if (copy) {
if (typeof copy.useAzureSdk === 'boolean') {
@@ -1273,6 +1530,9 @@ function getDownloadOptions(copy) {
if (typeof copy.segmentTimeoutInMs === 'number') {
result.segmentTimeoutInMs = copy.segmentTimeoutInMs;
}
+ if (typeof copy.lookupOnly === 'boolean') {
+ result.lookupOnly = copy.lookupOnly;
+ }
}
const segmentDownloadTimeoutMins = process.env['SEGMENT_DOWNLOAD_TIMEOUT_MINS'];
if (segmentDownloadTimeoutMins &&
@@ -1285,6 +1545,7 @@ function getDownloadOptions(copy) {
core.debug(`Request timeout (ms): ${result.timeoutInMs}`);
core.debug(`Cache segment download timeout mins env var: ${process.env['SEGMENT_DOWNLOAD_TIMEOUT_MINS']}`);
core.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`);
+ core.debug(`Lookup only: ${result.lookupOnly}`);
return result;
}
exports.getDownloadOptions = getDownloadOptions;
@@ -6980,19 +7241,18 @@ function copyFile(srcFile, destFile, force) {
/***/ }),
/***/ 2557:
-/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
+/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
-var tslib = __nccwpck_require__(9268);
-
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
-var listenersMap = new WeakMap();
-var abortedMap = new WeakMap();
+///
+const listenersMap = new WeakMap();
+const abortedMap = new WeakMap();
/**
* An aborter instance implements AbortSignal interface, can abort HTTP requests.
*
@@ -7006,8 +7266,8 @@ var abortedMap = new WeakMap();
* await doAsyncWork(AbortSignal.none);
* ```
*/
-var AbortSignal = /** @class */ (function () {
- function AbortSignal() {
+class AbortSignal {
+ constructor() {
/**
* onabort event listener.
*/
@@ -7015,74 +7275,65 @@ var AbortSignal = /** @class */ (function () {
listenersMap.set(this, []);
abortedMap.set(this, false);
}
- Object.defineProperty(AbortSignal.prototype, "aborted", {
- /**
- * Status of whether aborted or not.
- *
- * @readonly
- */
- get: function () {
- if (!abortedMap.has(this)) {
- throw new TypeError("Expected `this` to be an instance of AbortSignal.");
- }
- return abortedMap.get(this);
- },
- enumerable: false,
- configurable: true
- });
- Object.defineProperty(AbortSignal, "none", {
- /**
- * Creates a new AbortSignal instance that will never be aborted.
- *
- * @readonly
- */
- get: function () {
- return new AbortSignal();
- },
- enumerable: false,
- configurable: true
- });
+ /**
+ * Status of whether aborted or not.
+ *
+ * @readonly
+ */
+ get aborted() {
+ if (!abortedMap.has(this)) {
+ throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+ }
+ return abortedMap.get(this);
+ }
+ /**
+ * Creates a new AbortSignal instance that will never be aborted.
+ *
+ * @readonly
+ */
+ static get none() {
+ return new AbortSignal();
+ }
/**
* Added new "abort" event listener, only support "abort" event.
*
* @param _type - Only support "abort" event
* @param listener - The listener to be added
*/
- AbortSignal.prototype.addEventListener = function (
+ addEventListener(
// tslint:disable-next-line:variable-name
_type, listener) {
if (!listenersMap.has(this)) {
throw new TypeError("Expected `this` to be an instance of AbortSignal.");
}
- var listeners = listenersMap.get(this);
+ const listeners = listenersMap.get(this);
listeners.push(listener);
- };
+ }
/**
* Remove "abort" event listener, only support "abort" event.
*
* @param _type - Only support "abort" event
* @param listener - The listener to be removed
*/
- AbortSignal.prototype.removeEventListener = function (
+ removeEventListener(
// tslint:disable-next-line:variable-name
_type, listener) {
if (!listenersMap.has(this)) {
throw new TypeError("Expected `this` to be an instance of AbortSignal.");
}
- var listeners = listenersMap.get(this);
- var index = listeners.indexOf(listener);
+ const listeners = listenersMap.get(this);
+ const index = listeners.indexOf(listener);
if (index > -1) {
listeners.splice(index, 1);
}
- };
+ }
/**
* Dispatches a synthetic event to the AbortSignal.
*/
- AbortSignal.prototype.dispatchEvent = function (_event) {
+ dispatchEvent(_event) {
throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes.");
- };
- return AbortSignal;
-}());
+ }
+}
/**
* Helper to trigger an abort event immediately, the onabort and all abort event listeners will be triggered.
* Will try to trigger abort event for all linked AbortSignal nodes.
@@ -7100,12 +7351,12 @@ function abortSignal(signal) {
if (signal.onabort) {
signal.onabort.call(signal);
}
- var listeners = listenersMap.get(signal);
+ const listeners = listenersMap.get(signal);
if (listeners) {
// Create a copy of listeners so mutations to the array
// (e.g. via removeListener calls) don't affect the listeners
// we invoke.
- listeners.slice().forEach(function (listener) {
+ listeners.slice().forEach((listener) => {
listener.call(signal, { type: "abort" });
});
}
@@ -7131,15 +7382,12 @@ function abortSignal(signal) {
* }
* ```
*/
-var AbortError = /** @class */ (function (_super) {
- tslib.__extends(AbortError, _super);
- function AbortError(message) {
- var _this = _super.call(this, message) || this;
- _this.name = "AbortError";
- return _this;
+class AbortError extends Error {
+ constructor(message) {
+ super(message);
+ this.name = "AbortError";
}
- return AbortError;
-}(Error));
+}
/**
* An AbortController provides an AbortSignal and the associated controls to signal
* that an asynchronous operation should be aborted.
@@ -7174,10 +7422,9 @@ var AbortError = /** @class */ (function (_super) {
* await doAsyncWork(aborter.withTimeout(25 * 1000));
* ```
*/
-var AbortController = /** @class */ (function () {
+class AbortController {
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
- function AbortController(parentSignals) {
- var _this = this;
+ constructor(parentSignals) {
this._signal = new AbortSignal();
if (!parentSignals) {
return;
@@ -7187,8 +7434,7 @@ var AbortController = /** @class */ (function () {
// eslint-disable-next-line prefer-rest-params
parentSignals = arguments;
}
- for (var _i = 0, parentSignals_1 = parentSignals; _i < parentSignals_1.length; _i++) {
- var parentSignal = parentSignals_1[_i];
+ for (const parentSignal of parentSignals) {
// if the parent signal has already had abort() called,
// then call abort on this signal as well.
if (parentSignal.aborted) {
@@ -7196,47 +7442,42 @@ var AbortController = /** @class */ (function () {
}
else {
// when the parent signal aborts, this signal should as well.
- parentSignal.addEventListener("abort", function () {
- _this.abort();
+ parentSignal.addEventListener("abort", () => {
+ this.abort();
});
}
}
}
- Object.defineProperty(AbortController.prototype, "signal", {
- /**
- * The AbortSignal associated with this controller that will signal aborted
- * when the abort method is called on this controller.
- *
- * @readonly
- */
- get: function () {
- return this._signal;
- },
- enumerable: false,
- configurable: true
- });
+ /**
+ * The AbortSignal associated with this controller that will signal aborted
+ * when the abort method is called on this controller.
+ *
+ * @readonly
+ */
+ get signal() {
+ return this._signal;
+ }
/**
* Signal that any operations passed this controller's associated abort signal
* to cancel any remaining work and throw an `AbortError`.
*/
- AbortController.prototype.abort = function () {
+ abort() {
abortSignal(this._signal);
- };
+ }
/**
* Creates a new AbortSignal instance that will abort after the provided ms.
* @param ms - Elapsed time in milliseconds to trigger an abort.
*/
- AbortController.timeout = function (ms) {
- var signal = new AbortSignal();
- var timer = setTimeout(abortSignal, ms, signal);
+ static timeout(ms) {
+ const signal = new AbortSignal();
+ const timer = setTimeout(abortSignal, ms, signal);
// Prevent the active Timer from keeping the Node.js event loop active.
if (typeof timer.unref === "function") {
timer.unref();
}
return signal;
- };
- return AbortController;
-}());
+ }
+}
exports.AbortController = AbortController;
exports.AbortError = AbortError;
@@ -7244,319 +7485,6 @@ exports.AbortSignal = AbortSignal;
//# sourceMappingURL=index.js.map
-/***/ }),
-
-/***/ 9268:
-/***/ ((module) => {
-
-/*! *****************************************************************************
-Copyright (c) Microsoft Corporation.
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-***************************************************************************** */
-/* global global, define, System, Reflect, Promise */
-var __extends;
-var __assign;
-var __rest;
-var __decorate;
-var __param;
-var __metadata;
-var __awaiter;
-var __generator;
-var __exportStar;
-var __values;
-var __read;
-var __spread;
-var __spreadArrays;
-var __spreadArray;
-var __await;
-var __asyncGenerator;
-var __asyncDelegator;
-var __asyncValues;
-var __makeTemplateObject;
-var __importStar;
-var __importDefault;
-var __classPrivateFieldGet;
-var __classPrivateFieldSet;
-var __createBinding;
-(function (factory) {
- var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {};
- if (typeof define === "function" && define.amd) {
- define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); });
- }
- else if ( true && typeof module.exports === "object") {
- factory(createExporter(root, createExporter(module.exports)));
- }
- else {
- factory(createExporter(root));
- }
- function createExporter(exports, previous) {
- if (exports !== root) {
- if (typeof Object.create === "function") {
- Object.defineProperty(exports, "__esModule", { value: true });
- }
- else {
- exports.__esModule = true;
- }
- }
- return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };
- }
-})
-(function (exporter) {
- var extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
-
- __extends = function (d, b) {
- if (typeof b !== "function" && b !== null)
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
-
- __assign = Object.assign || function (t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
- }
- return t;
- };
-
- __rest = function (s, e) {
- var t = {};
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
- t[p] = s[p];
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
- t[p[i]] = s[p[i]];
- }
- return t;
- };
-
- __decorate = function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
-
- __param = function (paramIndex, decorator) {
- return function (target, key) { decorator(target, key, paramIndex); }
- };
-
- __metadata = function (metadataKey, metadataValue) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
- };
-
- __awaiter = function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
-
- __generator = function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
- };
-
- __exportStar = function(m, o) {
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
- };
-
- __createBinding = Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
- }) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
- });
-
- __values = function (o) {
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
- if (m) return m.call(o);
- if (o && typeof o.length === "number") return {
- next: function () {
- if (o && i >= o.length) o = void 0;
- return { value: o && o[i++], done: !o };
- }
- };
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
- };
-
- __read = function (o, n) {
- var m = typeof Symbol === "function" && o[Symbol.iterator];
- if (!m) return o;
- var i = m.call(o), r, ar = [], e;
- try {
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
- }
- catch (error) { e = { error: error }; }
- finally {
- try {
- if (r && !r.done && (m = i["return"])) m.call(i);
- }
- finally { if (e) throw e.error; }
- }
- return ar;
- };
-
- /** @deprecated */
- __spread = function () {
- for (var ar = [], i = 0; i < arguments.length; i++)
- ar = ar.concat(__read(arguments[i]));
- return ar;
- };
-
- /** @deprecated */
- __spreadArrays = function () {
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
- r[k] = a[j];
- return r;
- };
-
- __spreadArray = function (to, from, pack) {
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
- if (ar || !(i in from)) {
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
- ar[i] = from[i];
- }
- }
- return to.concat(ar || Array.prototype.slice.call(from));
- };
-
- __await = function (v) {
- return this instanceof __await ? (this.v = v, this) : new __await(v);
- };
-
- __asyncGenerator = function (thisArg, _arguments, generator) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
- function fulfill(value) { resume("next", value); }
- function reject(value) { resume("throw", value); }
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
- };
-
- __asyncDelegator = function (o) {
- var i, p;
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
- };
-
- __asyncValues = function (o) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var m = o[Symbol.asyncIterator], i;
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
- };
-
- __makeTemplateObject = function (cooked, raw) {
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
- return cooked;
- };
-
- var __setModuleDefault = Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
- }) : function(o, v) {
- o["default"] = v;
- };
-
- __importStar = function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
- };
-
- __importDefault = function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
-
- __classPrivateFieldGet = function (receiver, state, kind, f) {
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
- };
-
- __classPrivateFieldSet = function (receiver, state, value, kind, f) {
- if (kind === "m") throw new TypeError("Private method is not writable");
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
- };
-
- exporter("__extends", __extends);
- exporter("__assign", __assign);
- exporter("__rest", __rest);
- exporter("__decorate", __decorate);
- exporter("__param", __param);
- exporter("__metadata", __metadata);
- exporter("__awaiter", __awaiter);
- exporter("__generator", __generator);
- exporter("__exportStar", __exportStar);
- exporter("__createBinding", __createBinding);
- exporter("__values", __values);
- exporter("__read", __read);
- exporter("__spread", __spread);
- exporter("__spreadArrays", __spreadArrays);
- exporter("__spreadArray", __spreadArray);
- exporter("__await", __await);
- exporter("__asyncGenerator", __asyncGenerator);
- exporter("__asyncDelegator", __asyncDelegator);
- exporter("__asyncValues", __asyncValues);
- exporter("__makeTemplateObject", __makeTemplateObject);
- exporter("__importStar", __importStar);
- exporter("__importDefault", __importDefault);
- exporter("__classPrivateFieldGet", __classPrivateFieldGet);
- exporter("__classPrivateFieldSet", __classPrivateFieldSet);
-});
-
-
/***/ }),
/***/ 2356:
@@ -59126,87 +59054,87 @@ exports.debug = debug; // for test
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.run = void 0;
-const core = __importStar(__nccwpck_require__(2186));
-const cache = __importStar(__nccwpck_require__(7799));
-const fs_1 = __importDefault(__nccwpck_require__(7147));
-const constants_1 = __nccwpck_require__(9042);
-const cache_utils_1 = __nccwpck_require__(1678);
-// Catch and log any unhandled exceptions. These exceptions can leak out of the uploadChunk method in
-// @actions/toolkit when a failed upload closes the file descriptor causing any in-process reads to
-// throw an uncaught exception. Instead of failing this action, just warn.
-process.on('uncaughtException', e => {
- const warningPrefix = '[warning]';
- core.info(`${warningPrefix}${e.message}`);
-});
-function run() {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- const cacheLock = core.getInput('cache');
- yield cachePackages(cacheLock);
- }
- catch (error) {
- core.setFailed(error.message);
- }
- });
-}
-exports.run = run;
-const cachePackages = (packageManager) => __awaiter(void 0, void 0, void 0, function* () {
- const state = core.getState(constants_1.State.CacheMatchedKey);
- const primaryKey = core.getState(constants_1.State.CachePrimaryKey);
- const packageManagerInfo = yield cache_utils_1.getPackageManagerInfo(packageManager);
- if (!packageManagerInfo) {
- core.debug(`Caching for '${packageManager}' is not supported`);
- return;
- }
- const cachePath = yield cache_utils_1.getCacheDirectoryPath(packageManagerInfo, packageManager);
- if (!fs_1.default.existsSync(cachePath)) {
- throw new Error(`Cache folder path is retrieved for ${packageManager} but doesn't exist on disk: ${cachePath}`);
- }
- if (primaryKey === state) {
- core.info(`Cache hit occurred on the primary key ${primaryKey}, not saving cache.`);
- return;
- }
- const cacheId = yield cache.saveCache([cachePath], primaryKey);
- if (cacheId == -1) {
- return;
- }
- core.info(`Cache saved with the key: ${primaryKey}`);
-});
-run();
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.run = void 0;
+const core = __importStar(__nccwpck_require__(2186));
+const cache = __importStar(__nccwpck_require__(7799));
+const fs_1 = __importDefault(__nccwpck_require__(7147));
+const constants_1 = __nccwpck_require__(9042);
+const cache_utils_1 = __nccwpck_require__(1678);
+// Catch and log any unhandled exceptions. These exceptions can leak out of the uploadChunk method in
+// @actions/toolkit when a failed upload closes the file descriptor causing any in-process reads to
+// throw an uncaught exception. Instead of failing this action, just warn.
+process.on('uncaughtException', e => {
+ const warningPrefix = '[warning]';
+ core.info(`${warningPrefix}${e.message}`);
+});
+function run() {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ const cacheLock = core.getInput('cache');
+ yield cachePackages(cacheLock);
+ }
+ catch (error) {
+ core.setFailed(error.message);
+ }
+ });
+}
+exports.run = run;
+const cachePackages = (packageManager) => __awaiter(void 0, void 0, void 0, function* () {
+ const state = core.getState(constants_1.State.CacheMatchedKey);
+ const primaryKey = core.getState(constants_1.State.CachePrimaryKey);
+ const packageManagerInfo = yield cache_utils_1.getPackageManagerInfo(packageManager);
+ if (!packageManagerInfo) {
+ core.debug(`Caching for '${packageManager}' is not supported`);
+ return;
+ }
+ const cachePath = yield cache_utils_1.getCacheDirectoryPath(packageManagerInfo, packageManager);
+ if (!fs_1.default.existsSync(cachePath)) {
+ throw new Error(`Cache folder path is retrieved for ${packageManager} but doesn't exist on disk: ${cachePath}`);
+ }
+ if (primaryKey === state) {
+ core.info(`Cache hit occurred on the primary key ${primaryKey}, not saving cache.`);
+ return;
+ }
+ const cacheId = yield cache.saveCache([cachePath], primaryKey);
+ if (cacheId == -1) {
+ return;
+ }
+ core.info(`Cache saved with the key: ${primaryKey}`);
+});
+run();
/***/ }),
@@ -59215,123 +59143,123 @@ run();
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.isCacheFeatureAvailable = exports.isGhes = exports.getCacheDirectoryPath = exports.getPackageManagerInfo = exports.getCommandOutput = exports.supportedPackageManagers = void 0;
-const core = __importStar(__nccwpck_require__(2186));
-const exec = __importStar(__nccwpck_require__(1514));
-const cache = __importStar(__nccwpck_require__(7799));
-exports.supportedPackageManagers = {
- npm: {
- lockFilePatterns: ['package-lock.json', 'npm-shrinkwrap.json', 'yarn.lock'],
- getCacheFolderCommand: 'npm config get cache'
- },
- pnpm: {
- lockFilePatterns: ['pnpm-lock.yaml'],
- getCacheFolderCommand: 'pnpm store path --silent'
- },
- yarn1: {
- lockFilePatterns: ['yarn.lock'],
- getCacheFolderCommand: 'yarn cache dir'
- },
- yarn2: {
- lockFilePatterns: ['yarn.lock'],
- getCacheFolderCommand: 'yarn config get cacheFolder'
- }
-};
-const getCommandOutput = (toolCommand) => __awaiter(void 0, void 0, void 0, function* () {
- let { stdout, stderr, exitCode } = yield exec.getExecOutput(toolCommand, undefined, { ignoreReturnCode: true });
- if (exitCode) {
- stderr = !stderr.trim()
- ? `The '${toolCommand}' command failed with exit code: ${exitCode}`
- : stderr;
- throw new Error(stderr);
- }
- return stdout.trim();
-});
-exports.getCommandOutput = getCommandOutput;
-const getPackageManagerVersion = (packageManager, command) => __awaiter(void 0, void 0, void 0, function* () {
- const stdOut = yield exports.getCommandOutput(`${packageManager} ${command}`);
- if (!stdOut) {
- throw new Error(`Could not retrieve version of ${packageManager}`);
- }
- return stdOut;
-});
-const getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, void 0, function* () {
- if (packageManager === 'npm') {
- return exports.supportedPackageManagers.npm;
- }
- else if (packageManager === 'pnpm') {
- return exports.supportedPackageManagers.pnpm;
- }
- else if (packageManager === 'yarn') {
- const yarnVersion = yield getPackageManagerVersion('yarn', '--version');
- core.debug(`Consumed yarn version is ${yarnVersion}`);
- if (yarnVersion.startsWith('1.')) {
- return exports.supportedPackageManagers.yarn1;
- }
- else {
- return exports.supportedPackageManagers.yarn2;
- }
- }
- else {
- return null;
- }
-});
-exports.getPackageManagerInfo = getPackageManagerInfo;
-const getCacheDirectoryPath = (packageManagerInfo, packageManager) => __awaiter(void 0, void 0, void 0, function* () {
- const stdOut = yield exports.getCommandOutput(packageManagerInfo.getCacheFolderCommand);
- if (!stdOut) {
- throw new Error(`Could not get cache folder path for ${packageManager}`);
- }
- core.debug(`${packageManager} path is ${stdOut}`);
- return stdOut.trim();
-});
-exports.getCacheDirectoryPath = getCacheDirectoryPath;
-function isGhes() {
- const ghUrl = new URL(process.env['GITHUB_SERVER_URL'] || 'https://github.com');
- return ghUrl.hostname.toUpperCase() !== 'GITHUB.COM';
-}
-exports.isGhes = isGhes;
-function isCacheFeatureAvailable() {
- if (cache.isFeatureAvailable())
- return true;
- if (isGhes()) {
- core.warning('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.');
- return false;
- }
- core.warning('The runner was not able to contact the cache service. Caching will be skipped');
- return false;
-}
-exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.isCacheFeatureAvailable = exports.isGhes = exports.getCacheDirectoryPath = exports.getPackageManagerInfo = exports.getCommandOutput = exports.supportedPackageManagers = void 0;
+const core = __importStar(__nccwpck_require__(2186));
+const exec = __importStar(__nccwpck_require__(1514));
+const cache = __importStar(__nccwpck_require__(7799));
+exports.supportedPackageManagers = {
+ npm: {
+ lockFilePatterns: ['package-lock.json', 'npm-shrinkwrap.json', 'yarn.lock'],
+ getCacheFolderCommand: 'npm config get cache'
+ },
+ pnpm: {
+ lockFilePatterns: ['pnpm-lock.yaml'],
+ getCacheFolderCommand: 'pnpm store path --silent'
+ },
+ yarn1: {
+ lockFilePatterns: ['yarn.lock'],
+ getCacheFolderCommand: 'yarn cache dir'
+ },
+ yarn2: {
+ lockFilePatterns: ['yarn.lock'],
+ getCacheFolderCommand: 'yarn config get cacheFolder'
+ }
+};
+const getCommandOutput = (toolCommand) => __awaiter(void 0, void 0, void 0, function* () {
+ let { stdout, stderr, exitCode } = yield exec.getExecOutput(toolCommand, undefined, { ignoreReturnCode: true });
+ if (exitCode) {
+ stderr = !stderr.trim()
+ ? `The '${toolCommand}' command failed with exit code: ${exitCode}`
+ : stderr;
+ throw new Error(stderr);
+ }
+ return stdout.trim();
+});
+exports.getCommandOutput = getCommandOutput;
+const getPackageManagerVersion = (packageManager, command) => __awaiter(void 0, void 0, void 0, function* () {
+ const stdOut = yield exports.getCommandOutput(`${packageManager} ${command}`);
+ if (!stdOut) {
+ throw new Error(`Could not retrieve version of ${packageManager}`);
+ }
+ return stdOut;
+});
+const getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, void 0, function* () {
+ if (packageManager === 'npm') {
+ return exports.supportedPackageManagers.npm;
+ }
+ else if (packageManager === 'pnpm') {
+ return exports.supportedPackageManagers.pnpm;
+ }
+ else if (packageManager === 'yarn') {
+ const yarnVersion = yield getPackageManagerVersion('yarn', '--version');
+ core.debug(`Consumed yarn version is ${yarnVersion}`);
+ if (yarnVersion.startsWith('1.')) {
+ return exports.supportedPackageManagers.yarn1;
+ }
+ else {
+ return exports.supportedPackageManagers.yarn2;
+ }
+ }
+ else {
+ return null;
+ }
+});
+exports.getPackageManagerInfo = getPackageManagerInfo;
+const getCacheDirectoryPath = (packageManagerInfo, packageManager) => __awaiter(void 0, void 0, void 0, function* () {
+ const stdOut = yield exports.getCommandOutput(packageManagerInfo.getCacheFolderCommand);
+ if (!stdOut) {
+ throw new Error(`Could not get cache folder path for ${packageManager}`);
+ }
+ core.debug(`${packageManager} path is ${stdOut}`);
+ return stdOut.trim();
+});
+exports.getCacheDirectoryPath = getCacheDirectoryPath;
+function isGhes() {
+ const ghUrl = new URL(process.env['GITHUB_SERVER_URL'] || 'https://github.com');
+ return ghUrl.hostname.toUpperCase() !== 'GITHUB.COM';
+}
+exports.isGhes = isGhes;
+function isCacheFeatureAvailable() {
+ if (cache.isFeatureAvailable())
+ return true;
+ if (isGhes()) {
+ core.warning('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.');
+ return false;
+ }
+ core.warning('The runner was not able to contact the cache service. Caching will be skipped');
+ return false;
+}
+exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
/***/ }),
@@ -59340,24 +59268,24 @@ exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
/***/ ((__unused_webpack_module, exports) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.Outputs = exports.State = exports.LockType = void 0;
-var LockType;
-(function (LockType) {
- LockType["Npm"] = "npm";
- LockType["Pnpm"] = "pnpm";
- LockType["Yarn"] = "yarn";
-})(LockType = exports.LockType || (exports.LockType = {}));
-var State;
-(function (State) {
- State["CachePrimaryKey"] = "CACHE_KEY";
- State["CacheMatchedKey"] = "CACHE_RESULT";
-})(State = exports.State || (exports.State = {}));
-var Outputs;
-(function (Outputs) {
- Outputs["CacheHit"] = "cache-hit";
-})(Outputs = exports.Outputs || (exports.Outputs = {}));
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Outputs = exports.State = exports.LockType = void 0;
+var LockType;
+(function (LockType) {
+ LockType["Npm"] = "npm";
+ LockType["Pnpm"] = "pnpm";
+ LockType["Yarn"] = "yarn";
+})(LockType = exports.LockType || (exports.LockType = {}));
+var State;
+(function (State) {
+ State["CachePrimaryKey"] = "CACHE_KEY";
+ State["CacheMatchedKey"] = "CACHE_RESULT";
+})(State = exports.State || (exports.State = {}));
+var Outputs;
+(function (Outputs) {
+ Outputs["CacheHit"] = "cache-hit";
+})(Outputs = exports.Outputs || (exports.Outputs = {}));
/***/ }),
diff --git a/dist/setup/index.js b/dist/setup/index.js
index 9b813965b..3eb0f055c 100644
--- a/dist/setup/index.js
+++ b/dist/setup/index.js
@@ -6,6 +6,29 @@
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -15,14 +38,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-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 }));
+exports.saveCache = exports.restoreCache = exports.isFeatureAvailable = exports.ReserveCacheError = exports.ValidationError = void 0;
const core = __importStar(__nccwpck_require__(2186));
const path = __importStar(__nccwpck_require__(1017));
const utils = __importStar(__nccwpck_require__(1518));
@@ -74,9 +91,10 @@ exports.isFeatureAvailable = isFeatureAvailable;
* @param primaryKey an explicit key for restoring the cache
* @param restoreKeys an optional ordered list of keys to use for restoring the cache if no cache hit occurred for key
* @param downloadOptions cache download options
+ * @param enableCrossOsArchive an optional boolean enabled to restore on windows any cache created on any platform
* @returns string returns the key for the cache hit, otherwise returns undefined
*/
-function restoreCache(paths, primaryKey, restoreKeys, options) {
+function restoreCache(paths, primaryKey, restoreKeys, options, enableCrossOsArchive = false) {
return __awaiter(this, void 0, void 0, function* () {
checkPaths(paths);
restoreKeys = restoreKeys || [];
@@ -94,22 +112,27 @@ function restoreCache(paths, primaryKey, restoreKeys, options) {
try {
// path are needed to compute version
const cacheEntry = yield cacheHttpClient.getCacheEntry(keys, paths, {
- compressionMethod
+ compressionMethod,
+ enableCrossOsArchive
});
if (!(cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.archiveLocation)) {
// Cache not found
return undefined;
}
+ if (options === null || options === void 0 ? void 0 : options.lookupOnly) {
+ core.info('Lookup only - skipping download');
+ return cacheEntry.cacheKey;
+ }
archivePath = path.join(yield utils.createTempDirectory(), utils.getCacheFileName(compressionMethod));
core.debug(`Archive Path: ${archivePath}`);
// Download the cache from the cache entry
yield cacheHttpClient.downloadCache(cacheEntry.archiveLocation, archivePath, options);
if (core.isDebug()) {
- yield tar_1.listTar(archivePath, compressionMethod);
+ yield (0, tar_1.listTar)(archivePath, compressionMethod);
}
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
core.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
- yield tar_1.extractTar(archivePath, compressionMethod);
+ yield (0, tar_1.extractTar)(archivePath, compressionMethod);
core.info('Cache restored successfully');
return cacheEntry.cacheKey;
}
@@ -141,10 +164,11 @@ exports.restoreCache = restoreCache;
*
* @param paths a list of file paths to be cached
* @param key an explicit key for restoring the cache
+ * @param enableCrossOsArchive an optional boolean enabled to save cache on windows which could be restored on any platform
* @param options cache upload options
* @returns number returns cacheId if the cache was saved successfully and throws an error if save fails
*/
-function saveCache(paths, key, options) {
+function saveCache(paths, key, options, enableCrossOsArchive = false) {
var _a, _b, _c, _d, _e;
return __awaiter(this, void 0, void 0, function* () {
checkPaths(paths);
@@ -161,9 +185,9 @@ function saveCache(paths, key, options) {
const archivePath = path.join(archiveFolder, utils.getCacheFileName(compressionMethod));
core.debug(`Archive Path: ${archivePath}`);
try {
- yield tar_1.createTar(archiveFolder, cachePaths, compressionMethod);
+ yield (0, tar_1.createTar)(archiveFolder, cachePaths, compressionMethod);
if (core.isDebug()) {
- yield tar_1.listTar(archivePath, compressionMethod);
+ yield (0, tar_1.listTar)(archivePath, compressionMethod);
}
const fileSizeLimit = 10 * 1024 * 1024 * 1024; // 10GB per repo limit
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
@@ -175,6 +199,7 @@ function saveCache(paths, key, options) {
core.debug('Reserving Cache');
const reserveCacheResponse = yield cacheHttpClient.reserveCache(key, paths, {
compressionMethod,
+ enableCrossOsArchive,
cacheSize: archiveFileSize
});
if ((_a = reserveCacheResponse === null || reserveCacheResponse === void 0 ? void 0 : reserveCacheResponse.result) === null || _a === void 0 ? void 0 : _a.cacheId) {
@@ -223,6 +248,29 @@ exports.saveCache = saveCache;
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -232,14 +280,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-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 }));
+exports.saveCache = exports.reserveCache = exports.downloadCache = exports.getCacheEntry = exports.getCacheVersion = void 0;
const core = __importStar(__nccwpck_require__(2186));
const http_client_1 = __nccwpck_require__(1825);
const auth_1 = __nccwpck_require__(5936);
@@ -247,7 +289,6 @@ const crypto = __importStar(__nccwpck_require__(6113));
const fs = __importStar(__nccwpck_require__(7147));
const url_1 = __nccwpck_require__(7310);
const utils = __importStar(__nccwpck_require__(1518));
-const constants_1 = __nccwpck_require__(8840);
const downloadUtils_1 = __nccwpck_require__(5500);
const options_1 = __nccwpck_require__(6215);
const requestUtils_1 = __nccwpck_require__(3981);
@@ -277,10 +318,17 @@ function createHttpClient() {
const bearerCredentialHandler = new auth_1.BearerCredentialHandler(token);
return new http_client_1.HttpClient('actions/cache', [bearerCredentialHandler], getRequestOptions());
}
-function getCacheVersion(paths, compressionMethod) {
- const components = paths.concat(!compressionMethod || compressionMethod === constants_1.CompressionMethod.Gzip
- ? []
- : [compressionMethod]);
+function getCacheVersion(paths, compressionMethod, enableCrossOsArchive = false) {
+ const components = paths;
+ // Add compression method to cache version to restore
+ // compressed cache as per compression method
+ if (compressionMethod) {
+ components.push(compressionMethod);
+ }
+ // Only check for windows platforms if enableCrossOsArchive is false
+ if (process.platform === 'win32' && !enableCrossOsArchive) {
+ components.push('windows-only');
+ }
// Add salt to cache version to support breaking changes in cache entry
components.push(versionSalt);
return crypto
@@ -292,18 +340,24 @@ exports.getCacheVersion = getCacheVersion;
function getCacheEntry(keys, paths, options) {
return __awaiter(this, void 0, void 0, function* () {
const httpClient = createHttpClient();
- const version = getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod);
+ const version = getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
const resource = `cache?keys=${encodeURIComponent(keys.join(','))}&version=${version}`;
- const response = yield requestUtils_1.retryTypedResponse('getCacheEntry', () => __awaiter(this, void 0, void 0, function* () { return httpClient.getJson(getCacheApiUrl(resource)); }));
+ const response = yield (0, requestUtils_1.retryTypedResponse)('getCacheEntry', () => __awaiter(this, void 0, void 0, function* () { return httpClient.getJson(getCacheApiUrl(resource)); }));
+ // Cache not found
if (response.statusCode === 204) {
+ // List cache for primary key only if cache miss occurs
+ if (core.isDebug()) {
+ yield printCachesListForDiagnostics(keys[0], httpClient, version);
+ }
return null;
}
- if (!requestUtils_1.isSuccessStatusCode(response.statusCode)) {
+ if (!(0, requestUtils_1.isSuccessStatusCode)(response.statusCode)) {
throw new Error(`Cache service responded with ${response.statusCode}`);
}
const cacheResult = response.result;
const cacheDownloadUrl = cacheResult === null || cacheResult === void 0 ? void 0 : cacheResult.archiveLocation;
if (!cacheDownloadUrl) {
+ // Cache achiveLocation not found. This should never happen, and hence bail out.
throw new Error('Cache not found.');
}
core.setSecret(cacheDownloadUrl);
@@ -313,18 +367,34 @@ function getCacheEntry(keys, paths, options) {
});
}
exports.getCacheEntry = getCacheEntry;
+function printCachesListForDiagnostics(key, httpClient, version) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const resource = `caches?key=${encodeURIComponent(key)}`;
+ const response = yield (0, requestUtils_1.retryTypedResponse)('listCache', () => __awaiter(this, void 0, void 0, function* () { return httpClient.getJson(getCacheApiUrl(resource)); }));
+ if (response.statusCode === 200) {
+ const cacheListResult = response.result;
+ const totalCount = cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.totalCount;
+ if (totalCount && totalCount > 0) {
+ core.debug(`No matching cache found for cache key '${key}', version '${version} and scope ${process.env['GITHUB_REF']}. There exist one or more cache(s) with similar key but they have different version or scope. See more info on cache matching here: https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#matching-a-cache-key \nOther caches with similar key:`);
+ for (const cacheEntry of (cacheListResult === null || cacheListResult === void 0 ? void 0 : cacheListResult.artifactCaches) || []) {
+ core.debug(`Cache Key: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheKey}, Cache Version: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.cacheVersion}, Cache Scope: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.scope}, Cache Created: ${cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.creationTime}`);
+ }
+ }
+ }
+ });
+}
function downloadCache(archiveLocation, archivePath, options) {
return __awaiter(this, void 0, void 0, function* () {
const archiveUrl = new url_1.URL(archiveLocation);
- const downloadOptions = options_1.getDownloadOptions(options);
+ const downloadOptions = (0, options_1.getDownloadOptions)(options);
if (downloadOptions.useAzureSdk &&
archiveUrl.hostname.endsWith('.blob.core.windows.net')) {
// Use Azure storage SDK to download caches hosted on Azure to improve speed and reliability.
- yield downloadUtils_1.downloadCacheStorageSDK(archiveLocation, archivePath, downloadOptions);
+ yield (0, downloadUtils_1.downloadCacheStorageSDK)(archiveLocation, archivePath, downloadOptions);
}
else {
// Otherwise, download using the Actions http-client.
- yield downloadUtils_1.downloadCacheHttpClient(archiveLocation, archivePath);
+ yield (0, downloadUtils_1.downloadCacheHttpClient)(archiveLocation, archivePath);
}
});
}
@@ -333,13 +403,13 @@ exports.downloadCache = downloadCache;
function reserveCache(key, paths, options) {
return __awaiter(this, void 0, void 0, function* () {
const httpClient = createHttpClient();
- const version = getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod);
+ const version = getCacheVersion(paths, options === null || options === void 0 ? void 0 : options.compressionMethod, options === null || options === void 0 ? void 0 : options.enableCrossOsArchive);
const reserveCacheRequest = {
key,
version,
cacheSize: options === null || options === void 0 ? void 0 : options.cacheSize
};
- const response = yield requestUtils_1.retryTypedResponse('reserveCache', () => __awaiter(this, void 0, void 0, function* () {
+ const response = yield (0, requestUtils_1.retryTypedResponse)('reserveCache', () => __awaiter(this, void 0, void 0, function* () {
return httpClient.postJson(getCacheApiUrl('caches'), reserveCacheRequest);
}));
return response;
@@ -363,10 +433,10 @@ function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
'Content-Type': 'application/octet-stream',
'Content-Range': getContentRange(start, end)
};
- const uploadChunkResponse = yield requestUtils_1.retryHttpClientResponse(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter(this, void 0, void 0, function* () {
+ const uploadChunkResponse = yield (0, requestUtils_1.retryHttpClientResponse)(`uploadChunk (start: ${start}, end: ${end})`, () => __awaiter(this, void 0, void 0, function* () {
return httpClient.sendStream('PATCH', resourceUrl, openStream(), additionalHeaders);
}));
- if (!requestUtils_1.isSuccessStatusCode(uploadChunkResponse.message.statusCode)) {
+ if (!(0, requestUtils_1.isSuccessStatusCode)(uploadChunkResponse.message.statusCode)) {
throw new Error(`Cache service responded with ${uploadChunkResponse.message.statusCode} during upload chunk.`);
}
});
@@ -377,7 +447,7 @@ function uploadFile(httpClient, cacheId, archivePath, options) {
const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
const fd = fs.openSync(archivePath, 'r');
- const uploadOptions = options_1.getUploadOptions(options);
+ const uploadOptions = (0, options_1.getUploadOptions)(options);
const concurrency = utils.assertDefined('uploadConcurrency', uploadOptions.uploadConcurrency);
const maxChunkSize = utils.assertDefined('uploadChunkSize', uploadOptions.uploadChunkSize);
const parallelUploads = [...new Array(concurrency).keys()];
@@ -412,7 +482,7 @@ function uploadFile(httpClient, cacheId, archivePath, options) {
function commitCache(httpClient, cacheId, filesize) {
return __awaiter(this, void 0, void 0, function* () {
const commitCacheRequest = { size: filesize };
- return yield requestUtils_1.retryTypedResponse('commitCache', () => __awaiter(this, void 0, void 0, function* () {
+ return yield (0, requestUtils_1.retryTypedResponse)('commitCache', () => __awaiter(this, void 0, void 0, function* () {
return httpClient.postJson(getCacheApiUrl(`caches/${cacheId.toString()}`), commitCacheRequest);
}));
});
@@ -427,7 +497,7 @@ function saveCache(cacheId, archivePath, options) {
const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
core.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
- if (!requestUtils_1.isSuccessStatusCode(commitCacheResponse.statusCode)) {
+ if (!(0, requestUtils_1.isSuccessStatusCode)(commitCacheResponse.statusCode)) {
throw new Error(`Cache service responded with ${commitCacheResponse.statusCode} during commit cache.`);
}
core.info('Cache saved successfully');
@@ -443,6 +513,29 @@ exports.saveCache = saveCache;
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -459,14 +552,8 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
};
-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 }));
+exports.isGhes = exports.assertDefined = exports.getGnuTarPathOnWindows = exports.getCacheFileName = exports.getCompressionMethod = exports.unlinkFile = exports.resolvePaths = exports.getArchiveFileSizeInBytes = exports.createTempDirectory = void 0;
const core = __importStar(__nccwpck_require__(2186));
const exec = __importStar(__nccwpck_require__(1514));
const glob = __importStar(__nccwpck_require__(1597));
@@ -498,7 +585,7 @@ function createTempDirectory() {
}
tempDirectory = path.join(baseLocation, 'actions', 'temp');
}
- const dest = path.join(tempDirectory, uuid_1.v4());
+ const dest = path.join(tempDirectory, (0, uuid_1.v4)());
yield io.mkdirP(dest);
return dest;
});
@@ -551,12 +638,13 @@ function unlinkFile(filePath) {
});
}
exports.unlinkFile = unlinkFile;
-function getVersion(app) {
+function getVersion(app, additionalArgs = []) {
return __awaiter(this, void 0, void 0, function* () {
- core.debug(`Checking ${app} --version`);
let versionOutput = '';
+ additionalArgs.push('--version');
+ core.debug(`Checking ${app} ${additionalArgs.join(' ')}`);
try {
- yield exec.exec(`${app} --version`, [], {
+ yield exec.exec(`${app}`, additionalArgs, {
ignoreReturnCode: true,
silent: true,
listeners: {
@@ -576,23 +664,14 @@ function getVersion(app) {
// Use zstandard if possible to maximize cache performance
function getCompressionMethod() {
return __awaiter(this, void 0, void 0, function* () {
- if (process.platform === 'win32' && !(yield isGnuTarInstalled())) {
- // Disable zstd due to bug https://github.com/actions/cache/issues/301
- return constants_1.CompressionMethod.Gzip;
- }
- const versionOutput = yield getVersion('zstd');
+ const versionOutput = yield getVersion('zstd', ['--quiet']);
const version = semver.clean(versionOutput);
- if (!versionOutput.toLowerCase().includes('zstd command line interface')) {
- // zstd is not installed
+ core.debug(`zstd version: ${version}`);
+ if (versionOutput === '') {
return constants_1.CompressionMethod.Gzip;
}
- else if (!version || semver.lt(version, 'v1.3.2')) {
- // zstd is installed but using a version earlier than v1.3.2
- // v1.3.2 is required to use the `--long` options in zstd
- return constants_1.CompressionMethod.ZstdWithoutLong;
- }
else {
- return constants_1.CompressionMethod.Zstd;
+ return constants_1.CompressionMethod.ZstdWithoutLong;
}
});
}
@@ -603,13 +682,16 @@ function getCacheFileName(compressionMethod) {
: constants_1.CacheFilename.Zstd;
}
exports.getCacheFileName = getCacheFileName;
-function isGnuTarInstalled() {
+function getGnuTarPathOnWindows() {
return __awaiter(this, void 0, void 0, function* () {
+ if (fs.existsSync(constants_1.GnuTarPathOnWindows)) {
+ return constants_1.GnuTarPathOnWindows;
+ }
const versionOutput = yield getVersion('tar');
- return versionOutput.toLowerCase().includes('gnu tar');
+ return versionOutput.toLowerCase().includes('gnu tar') ? io.which('tar') : '';
});
}
-exports.isGnuTarInstalled = isGnuTarInstalled;
+exports.getGnuTarPathOnWindows = getGnuTarPathOnWindows;
function assertDefined(name, value) {
if (value === undefined) {
throw Error(`Expected ${name} but value was undefiend`);
@@ -632,6 +714,7 @@ exports.isGhes = isGhes;
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.ManifestFilename = exports.TarFilename = exports.SystemTarPathOnWindows = exports.GnuTarPathOnWindows = exports.SocketTimeout = exports.DefaultRetryDelay = exports.DefaultRetryAttempts = exports.ArchiveToolType = exports.CompressionMethod = exports.CacheFilename = void 0;
var CacheFilename;
(function (CacheFilename) {
CacheFilename["Gzip"] = "cache.tgz";
@@ -645,6 +728,11 @@ var CompressionMethod;
CompressionMethod["ZstdWithoutLong"] = "zstd-without-long";
CompressionMethod["Zstd"] = "zstd";
})(CompressionMethod = exports.CompressionMethod || (exports.CompressionMethod = {}));
+var ArchiveToolType;
+(function (ArchiveToolType) {
+ ArchiveToolType["GNU"] = "gnu";
+ ArchiveToolType["BSD"] = "bsd";
+})(ArchiveToolType = exports.ArchiveToolType || (exports.ArchiveToolType = {}));
// The default number of retry attempts.
exports.DefaultRetryAttempts = 2;
// The default delay in milliseconds between retry attempts.
@@ -653,6 +741,12 @@ exports.DefaultRetryDelay = 5000;
// over the socket during this period, the socket is destroyed and the download
// is aborted.
exports.SocketTimeout = 5000;
+// The default path of GNUtar on hosted Windows runners
+exports.GnuTarPathOnWindows = `${process.env['PROGRAMFILES']}\\Git\\usr\\bin\\tar.exe`;
+// The default path of BSDtar on hosted Windows runners
+exports.SystemTarPathOnWindows = `${process.env['SYSTEMDRIVE']}\\Windows\\System32\\tar.exe`;
+exports.TarFilename = 'cache.tar';
+exports.ManifestFilename = 'manifest.txt';
//# sourceMappingURL=constants.js.map
/***/ }),
@@ -662,6 +756,29 @@ exports.SocketTimeout = 5000;
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -671,14 +788,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-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 }));
+exports.downloadCacheStorageSDK = exports.downloadCacheHttpClient = exports.DownloadProgress = void 0;
const core = __importStar(__nccwpck_require__(2186));
const http_client_1 = __nccwpck_require__(1825);
const storage_blob_1 = __nccwpck_require__(4100);
@@ -813,7 +924,7 @@ function downloadCacheHttpClient(archiveLocation, archivePath) {
return __awaiter(this, void 0, void 0, function* () {
const writeStream = fs.createWriteStream(archivePath);
const httpClient = new http_client_1.HttpClient('actions/cache');
- const downloadResponse = yield requestUtils_1.retryHttpClientResponse('downloadCache', () => __awaiter(this, void 0, void 0, function* () { return httpClient.get(archiveLocation); }));
+ const downloadResponse = yield (0, requestUtils_1.retryHttpClientResponse)('downloadCache', () => __awaiter(this, void 0, void 0, function* () { return httpClient.get(archiveLocation); }));
// Abort download if no traffic received over the socket.
downloadResponse.message.socket.setTimeout(constants_1.SocketTimeout, () => {
downloadResponse.message.destroy();
@@ -868,7 +979,8 @@ function downloadCacheStorageSDK(archiveLocation, archivePath, options) {
// If the file exceeds the buffer maximum length (~1 GB on 32-bit systems and ~2 GB
// on 64-bit systems), split the download into multiple segments
// ~2 GB = 2147483647, beyond this, we start getting out of range error. So, capping it accordingly.
- const maxSegmentSize = Math.min(2147483647, buffer.constants.MAX_LENGTH);
+ // Updated segment size to 128MB = 134217728 bytes, to complete a segment faster and fail fast
+ const maxSegmentSize = Math.min(134217728, buffer.constants.MAX_LENGTH);
const downloadProgress = new DownloadProgress(contentLength);
const fd = fs.openSync(archivePath, 'w');
try {
@@ -920,6 +1032,29 @@ const promiseWithTimeout = (timeoutMs, promise) => __awaiter(void 0, void 0, voi
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -929,14 +1064,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-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 }));
+exports.retryHttpClientResponse = exports.retryTypedResponse = exports.retry = exports.isRetryableStatusCode = exports.isServerErrorStatusCode = exports.isSuccessStatusCode = void 0;
const core = __importStar(__nccwpck_require__(2186));
const http_client_1 = __nccwpck_require__(1825);
const constants_1 = __nccwpck_require__(8840);
@@ -1047,6 +1176,29 @@ exports.retryHttpClientResponse = retryHttpClientResponse;
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -1056,14 +1208,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-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 }));
+exports.createTar = exports.extractTar = exports.listTar = void 0;
const exec_1 = __nccwpck_require__(1514);
const io = __importStar(__nccwpck_require__(7436));
const fs_1 = __nccwpck_require__(7147);
@@ -1071,21 +1217,19 @@ const path = __importStar(__nccwpck_require__(1017));
const utils = __importStar(__nccwpck_require__(1518));
const constants_1 = __nccwpck_require__(8840);
const IS_WINDOWS = process.platform === 'win32';
-function getTarPath(args, compressionMethod) {
+// Returns tar path and type: BSD or GNU
+function getTarPath() {
return __awaiter(this, void 0, void 0, function* () {
switch (process.platform) {
case 'win32': {
- const systemTar = `${process.env['windir']}\\System32\\tar.exe`;
- if (compressionMethod !== constants_1.CompressionMethod.Gzip) {
- // We only use zstandard compression on windows when gnu tar is installed due to
- // a bug with compressing large files with bsdtar + zstd
- args.push('--force-local');
- }
- else if (fs_1.existsSync(systemTar)) {
- return systemTar;
+ const gnuTar = yield utils.getGnuTarPathOnWindows();
+ const systemTar = constants_1.SystemTarPathOnWindows;
+ if (gnuTar) {
+ // Use GNUtar as default on windows
+ return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
}
- else if (yield utils.isGnuTarInstalled()) {
- args.push('--force-local');
+ else if ((0, fs_1.existsSync)(systemTar)) {
+ return { path: systemTar, type: constants_1.ArchiveToolType.BSD };
}
break;
}
@@ -1093,25 +1237,92 @@ function getTarPath(args, compressionMethod) {
const gnuTar = yield io.which('gtar', false);
if (gnuTar) {
// fix permission denied errors when extracting BSD tar archive with GNU tar - https://github.com/actions/cache/issues/527
- args.push('--delay-directory-restore');
- return gnuTar;
+ return { path: gnuTar, type: constants_1.ArchiveToolType.GNU };
+ }
+ else {
+ return {
+ path: yield io.which('tar', true),
+ type: constants_1.ArchiveToolType.BSD
+ };
}
- break;
}
default:
break;
}
- return yield io.which('tar', true);
+ // Default assumption is GNU tar is present in path
+ return {
+ path: yield io.which('tar', true),
+ type: constants_1.ArchiveToolType.GNU
+ };
});
}
-function execTar(args, compressionMethod, cwd) {
+// Return arguments for tar as per tarPath, compressionMethod, method type and os
+function getTarArgs(tarPath, compressionMethod, type, archivePath = '') {
return __awaiter(this, void 0, void 0, function* () {
- try {
- yield exec_1.exec(`"${yield getTarPath(args, compressionMethod)}"`, args, { cwd });
+ const args = [`"${tarPath.path}"`];
+ const cacheFileName = utils.getCacheFileName(compressionMethod);
+ const tarFile = 'cache.tar';
+ const workingDirectory = getWorkingDirectory();
+ // Speficic args for BSD tar on windows for workaround
+ const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD &&
+ compressionMethod !== constants_1.CompressionMethod.Gzip &&
+ IS_WINDOWS;
+ // Method specific args
+ switch (type) {
+ case 'create':
+ args.push('--posix', '-cf', BSD_TAR_ZSTD
+ ? tarFile
+ : cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '--exclude', BSD_TAR_ZSTD
+ ? tarFile
+ : cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '-P', '-C', workingDirectory.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '--files-from', constants_1.ManifestFilename);
+ break;
+ case 'extract':
+ args.push('-xf', BSD_TAR_ZSTD
+ ? tarFile
+ : archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '-P', '-C', workingDirectory.replace(new RegExp(`\\${path.sep}`, 'g'), '/'));
+ break;
+ case 'list':
+ args.push('-tf', BSD_TAR_ZSTD
+ ? tarFile
+ : archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'), '-P');
+ break;
}
- catch (error) {
- throw new Error(`Tar failed with error: ${error === null || error === void 0 ? void 0 : error.message}`);
+ // Platform specific args
+ if (tarPath.type === constants_1.ArchiveToolType.GNU) {
+ switch (process.platform) {
+ case 'win32':
+ args.push('--force-local');
+ break;
+ case 'darwin':
+ args.push('--delay-directory-restore');
+ break;
+ }
}
+ return args;
+ });
+}
+// Returns commands to run tar and compression program
+function getCommands(compressionMethod, type, archivePath = '') {
+ return __awaiter(this, void 0, void 0, function* () {
+ let args;
+ const tarPath = yield getTarPath();
+ const tarArgs = yield getTarArgs(tarPath, compressionMethod, type, archivePath);
+ const compressionArgs = type !== 'create'
+ ? yield getDecompressionProgram(tarPath, compressionMethod, archivePath)
+ : yield getCompressionProgram(tarPath, compressionMethod);
+ const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD &&
+ compressionMethod !== constants_1.CompressionMethod.Gzip &&
+ IS_WINDOWS;
+ if (BSD_TAR_ZSTD && type !== 'create') {
+ args = [[...compressionArgs].join(' '), [...tarArgs].join(' ')];
+ }
+ else {
+ args = [[...tarArgs].join(' '), [...compressionArgs].join(' ')];
+ }
+ if (BSD_TAR_ZSTD) {
+ return args;
+ }
+ return [args.join(' ')];
});
}
function getWorkingDirectory() {
@@ -1119,91 +1330,119 @@ function getWorkingDirectory() {
return (_a = process.env['GITHUB_WORKSPACE']) !== null && _a !== void 0 ? _a : process.cwd();
}
// Common function for extractTar and listTar to get the compression method
-function getCompressionProgram(compressionMethod) {
- // -d: Decompress.
- // unzstd is equivalent to 'zstd -d'
- // --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit.
- // Using 30 here because we also support 32-bit self-hosted runners.
- switch (compressionMethod) {
- case constants_1.CompressionMethod.Zstd:
- return [
- '--use-compress-program',
- IS_WINDOWS ? 'zstd -d --long=30' : 'unzstd --long=30'
- ];
- case constants_1.CompressionMethod.ZstdWithoutLong:
- return ['--use-compress-program', IS_WINDOWS ? 'zstd -d' : 'unzstd'];
- default:
- return ['-z'];
- }
+function getDecompressionProgram(tarPath, compressionMethod, archivePath) {
+ return __awaiter(this, void 0, void 0, function* () {
+ // -d: Decompress.
+ // unzstd is equivalent to 'zstd -d'
+ // --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit.
+ // Using 30 here because we also support 32-bit self-hosted runners.
+ const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD &&
+ compressionMethod !== constants_1.CompressionMethod.Gzip &&
+ IS_WINDOWS;
+ switch (compressionMethod) {
+ case constants_1.CompressionMethod.Zstd:
+ return BSD_TAR_ZSTD
+ ? [
+ 'zstd -d --long=30 --force -o',
+ constants_1.TarFilename,
+ archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/')
+ ]
+ : [
+ '--use-compress-program',
+ IS_WINDOWS ? '"zstd -d --long=30"' : 'unzstd --long=30'
+ ];
+ case constants_1.CompressionMethod.ZstdWithoutLong:
+ return BSD_TAR_ZSTD
+ ? [
+ 'zstd -d --force -o',
+ constants_1.TarFilename,
+ archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/')
+ ]
+ : ['--use-compress-program', IS_WINDOWS ? '"zstd -d"' : 'unzstd'];
+ default:
+ return ['-z'];
+ }
+ });
}
+// Used for creating the archive
+// -T#: Compress using # working thread. If # is 0, attempt to detect and use the number of physical CPU cores.
+// zstdmt is equivalent to 'zstd -T0'
+// --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit.
+// Using 30 here because we also support 32-bit self-hosted runners.
+// Long range mode is added to zstd in v1.3.2 release, so we will not use --long in older version of zstd.
+function getCompressionProgram(tarPath, compressionMethod) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const cacheFileName = utils.getCacheFileName(compressionMethod);
+ const BSD_TAR_ZSTD = tarPath.type === constants_1.ArchiveToolType.BSD &&
+ compressionMethod !== constants_1.CompressionMethod.Gzip &&
+ IS_WINDOWS;
+ switch (compressionMethod) {
+ case constants_1.CompressionMethod.Zstd:
+ return BSD_TAR_ZSTD
+ ? [
+ 'zstd -T0 --long=30 --force -o',
+ cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
+ constants_1.TarFilename
+ ]
+ : [
+ '--use-compress-program',
+ IS_WINDOWS ? '"zstd -T0 --long=30"' : 'zstdmt --long=30'
+ ];
+ case constants_1.CompressionMethod.ZstdWithoutLong:
+ return BSD_TAR_ZSTD
+ ? [
+ 'zstd -T0 --force -o',
+ cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
+ constants_1.TarFilename
+ ]
+ : ['--use-compress-program', IS_WINDOWS ? '"zstd -T0"' : 'zstdmt'];
+ default:
+ return ['-z'];
+ }
+ });
+}
+// Executes all commands as separate processes
+function execCommands(commands, cwd) {
+ return __awaiter(this, void 0, void 0, function* () {
+ for (const command of commands) {
+ try {
+ yield (0, exec_1.exec)(command, undefined, {
+ cwd,
+ env: Object.assign(Object.assign({}, process.env), { MSYS: 'winsymlinks:nativestrict' })
+ });
+ }
+ catch (error) {
+ throw new Error(`${command.split(' ')[0]} failed with error: ${error === null || error === void 0 ? void 0 : error.message}`);
+ }
+ }
+ });
+}
+// List the contents of a tar
function listTar(archivePath, compressionMethod) {
return __awaiter(this, void 0, void 0, function* () {
- const args = [
- ...getCompressionProgram(compressionMethod),
- '-tf',
- archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
- '-P'
- ];
- yield execTar(args, compressionMethod);
+ const commands = yield getCommands(compressionMethod, 'list', archivePath);
+ yield execCommands(commands);
});
}
exports.listTar = listTar;
+// Extract a tar
function extractTar(archivePath, compressionMethod) {
return __awaiter(this, void 0, void 0, function* () {
// Create directory to extract tar into
const workingDirectory = getWorkingDirectory();
yield io.mkdirP(workingDirectory);
- const args = [
- ...getCompressionProgram(compressionMethod),
- '-xf',
- archivePath.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
- '-P',
- '-C',
- workingDirectory.replace(new RegExp(`\\${path.sep}`, 'g'), '/')
- ];
- yield execTar(args, compressionMethod);
+ const commands = yield getCommands(compressionMethod, 'extract', archivePath);
+ yield execCommands(commands);
});
}
exports.extractTar = extractTar;
+// Create a tar
function createTar(archiveFolder, sourceDirectories, compressionMethod) {
return __awaiter(this, void 0, void 0, function* () {
// Write source directories to manifest.txt to avoid command length limits
- const manifestFilename = 'manifest.txt';
- const cacheFileName = utils.getCacheFileName(compressionMethod);
- fs_1.writeFileSync(path.join(archiveFolder, manifestFilename), sourceDirectories.join('\n'));
- const workingDirectory = getWorkingDirectory();
- // -T#: Compress using # working thread. If # is 0, attempt to detect and use the number of physical CPU cores.
- // zstdmt is equivalent to 'zstd -T0'
- // --long=#: Enables long distance matching with # bits. Maximum is 30 (1GB) on 32-bit OS and 31 (2GB) on 64-bit.
- // Using 30 here because we also support 32-bit self-hosted runners.
- // Long range mode is added to zstd in v1.3.2 release, so we will not use --long in older version of zstd.
- function getCompressionProgram() {
- switch (compressionMethod) {
- case constants_1.CompressionMethod.Zstd:
- return [
- '--use-compress-program',
- IS_WINDOWS ? 'zstd -T0 --long=30' : 'zstdmt --long=30'
- ];
- case constants_1.CompressionMethod.ZstdWithoutLong:
- return ['--use-compress-program', IS_WINDOWS ? 'zstd -T0' : 'zstdmt'];
- default:
- return ['-z'];
- }
- }
- const args = [
- '--posix',
- ...getCompressionProgram(),
- '-cf',
- cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
- '--exclude',
- cacheFileName.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
- '-P',
- '-C',
- workingDirectory.replace(new RegExp(`\\${path.sep}`, 'g'), '/'),
- '--files-from',
- manifestFilename
- ];
- yield execTar(args, compressionMethod, archiveFolder);
+ (0, fs_1.writeFileSync)(path.join(archiveFolder, constants_1.ManifestFilename), sourceDirectories.join('\n'));
+ const commands = yield getCommands(compressionMethod, 'create');
+ yield execCommands(commands, archiveFolder);
});
}
exports.createTar = createTar;
@@ -1216,14 +1455,31 @@ exports.createTar = createTar;
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
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;
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.getDownloadOptions = exports.getUploadOptions = void 0;
const core = __importStar(__nccwpck_require__(2186));
/**
* Returns a copy of the upload options with defaults filled in.
@@ -1258,7 +1514,8 @@ function getDownloadOptions(copy) {
useAzureSdk: true,
downloadConcurrency: 8,
timeoutInMs: 30000,
- segmentTimeoutInMs: 3600000
+ segmentTimeoutInMs: 600000,
+ lookupOnly: false
};
if (copy) {
if (typeof copy.useAzureSdk === 'boolean') {
@@ -1273,6 +1530,9 @@ function getDownloadOptions(copy) {
if (typeof copy.segmentTimeoutInMs === 'number') {
result.segmentTimeoutInMs = copy.segmentTimeoutInMs;
}
+ if (typeof copy.lookupOnly === 'boolean') {
+ result.lookupOnly = copy.lookupOnly;
+ }
}
const segmentDownloadTimeoutMins = process.env['SEGMENT_DOWNLOAD_TIMEOUT_MINS'];
if (segmentDownloadTimeoutMins &&
@@ -1285,6 +1545,7 @@ function getDownloadOptions(copy) {
core.debug(`Request timeout (ms): ${result.timeoutInMs}`);
core.debug(`Cache segment download timeout mins env var: ${process.env['SEGMENT_DOWNLOAD_TIMEOUT_MINS']}`);
core.debug(`Segment download timeout (ms): ${result.segmentTimeoutInMs}`);
+ core.debug(`Lookup only: ${result.lookupOnly}`);
return result;
}
exports.getDownloadOptions = getDownloadOptions;
@@ -9630,19 +9891,18 @@ function _getGlobal(key, defaultValue) {
/***/ }),
/***/ 2557:
-/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
+/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
-var tslib = __nccwpck_require__(9268);
-
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
-var listenersMap = new WeakMap();
-var abortedMap = new WeakMap();
+///
+const listenersMap = new WeakMap();
+const abortedMap = new WeakMap();
/**
* An aborter instance implements AbortSignal interface, can abort HTTP requests.
*
@@ -9656,8 +9916,8 @@ var abortedMap = new WeakMap();
* await doAsyncWork(AbortSignal.none);
* ```
*/
-var AbortSignal = /** @class */ (function () {
- function AbortSignal() {
+class AbortSignal {
+ constructor() {
/**
* onabort event listener.
*/
@@ -9665,74 +9925,65 @@ var AbortSignal = /** @class */ (function () {
listenersMap.set(this, []);
abortedMap.set(this, false);
}
- Object.defineProperty(AbortSignal.prototype, "aborted", {
- /**
- * Status of whether aborted or not.
- *
- * @readonly
- */
- get: function () {
- if (!abortedMap.has(this)) {
- throw new TypeError("Expected `this` to be an instance of AbortSignal.");
- }
- return abortedMap.get(this);
- },
- enumerable: false,
- configurable: true
- });
- Object.defineProperty(AbortSignal, "none", {
- /**
- * Creates a new AbortSignal instance that will never be aborted.
- *
- * @readonly
- */
- get: function () {
- return new AbortSignal();
- },
- enumerable: false,
- configurable: true
- });
+ /**
+ * Status of whether aborted or not.
+ *
+ * @readonly
+ */
+ get aborted() {
+ if (!abortedMap.has(this)) {
+ throw new TypeError("Expected `this` to be an instance of AbortSignal.");
+ }
+ return abortedMap.get(this);
+ }
+ /**
+ * Creates a new AbortSignal instance that will never be aborted.
+ *
+ * @readonly
+ */
+ static get none() {
+ return new AbortSignal();
+ }
/**
* Added new "abort" event listener, only support "abort" event.
*
* @param _type - Only support "abort" event
* @param listener - The listener to be added
*/
- AbortSignal.prototype.addEventListener = function (
+ addEventListener(
// tslint:disable-next-line:variable-name
_type, listener) {
if (!listenersMap.has(this)) {
throw new TypeError("Expected `this` to be an instance of AbortSignal.");
}
- var listeners = listenersMap.get(this);
+ const listeners = listenersMap.get(this);
listeners.push(listener);
- };
+ }
/**
* Remove "abort" event listener, only support "abort" event.
*
* @param _type - Only support "abort" event
* @param listener - The listener to be removed
*/
- AbortSignal.prototype.removeEventListener = function (
+ removeEventListener(
// tslint:disable-next-line:variable-name
_type, listener) {
if (!listenersMap.has(this)) {
throw new TypeError("Expected `this` to be an instance of AbortSignal.");
}
- var listeners = listenersMap.get(this);
- var index = listeners.indexOf(listener);
+ const listeners = listenersMap.get(this);
+ const index = listeners.indexOf(listener);
if (index > -1) {
listeners.splice(index, 1);
}
- };
+ }
/**
* Dispatches a synthetic event to the AbortSignal.
*/
- AbortSignal.prototype.dispatchEvent = function (_event) {
+ dispatchEvent(_event) {
throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes.");
- };
- return AbortSignal;
-}());
+ }
+}
/**
* Helper to trigger an abort event immediately, the onabort and all abort event listeners will be triggered.
* Will try to trigger abort event for all linked AbortSignal nodes.
@@ -9750,12 +10001,12 @@ function abortSignal(signal) {
if (signal.onabort) {
signal.onabort.call(signal);
}
- var listeners = listenersMap.get(signal);
+ const listeners = listenersMap.get(signal);
if (listeners) {
// Create a copy of listeners so mutations to the array
// (e.g. via removeListener calls) don't affect the listeners
// we invoke.
- listeners.slice().forEach(function (listener) {
+ listeners.slice().forEach((listener) => {
listener.call(signal, { type: "abort" });
});
}
@@ -9781,15 +10032,12 @@ function abortSignal(signal) {
* }
* ```
*/
-var AbortError = /** @class */ (function (_super) {
- tslib.__extends(AbortError, _super);
- function AbortError(message) {
- var _this = _super.call(this, message) || this;
- _this.name = "AbortError";
- return _this;
+class AbortError extends Error {
+ constructor(message) {
+ super(message);
+ this.name = "AbortError";
}
- return AbortError;
-}(Error));
+}
/**
* An AbortController provides an AbortSignal and the associated controls to signal
* that an asynchronous operation should be aborted.
@@ -9824,10 +10072,9 @@ var AbortError = /** @class */ (function (_super) {
* await doAsyncWork(aborter.withTimeout(25 * 1000));
* ```
*/
-var AbortController = /** @class */ (function () {
+class AbortController {
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
- function AbortController(parentSignals) {
- var _this = this;
+ constructor(parentSignals) {
this._signal = new AbortSignal();
if (!parentSignals) {
return;
@@ -9837,8 +10084,7 @@ var AbortController = /** @class */ (function () {
// eslint-disable-next-line prefer-rest-params
parentSignals = arguments;
}
- for (var _i = 0, parentSignals_1 = parentSignals; _i < parentSignals_1.length; _i++) {
- var parentSignal = parentSignals_1[_i];
+ for (const parentSignal of parentSignals) {
// if the parent signal has already had abort() called,
// then call abort on this signal as well.
if (parentSignal.aborted) {
@@ -9846,47 +10092,42 @@ var AbortController = /** @class */ (function () {
}
else {
// when the parent signal aborts, this signal should as well.
- parentSignal.addEventListener("abort", function () {
- _this.abort();
+ parentSignal.addEventListener("abort", () => {
+ this.abort();
});
}
}
}
- Object.defineProperty(AbortController.prototype, "signal", {
- /**
- * The AbortSignal associated with this controller that will signal aborted
- * when the abort method is called on this controller.
- *
- * @readonly
- */
- get: function () {
- return this._signal;
- },
- enumerable: false,
- configurable: true
- });
+ /**
+ * The AbortSignal associated with this controller that will signal aborted
+ * when the abort method is called on this controller.
+ *
+ * @readonly
+ */
+ get signal() {
+ return this._signal;
+ }
/**
* Signal that any operations passed this controller's associated abort signal
* to cancel any remaining work and throw an `AbortError`.
*/
- AbortController.prototype.abort = function () {
+ abort() {
abortSignal(this._signal);
- };
+ }
/**
* Creates a new AbortSignal instance that will abort after the provided ms.
* @param ms - Elapsed time in milliseconds to trigger an abort.
*/
- AbortController.timeout = function (ms) {
- var signal = new AbortSignal();
- var timer = setTimeout(abortSignal, ms, signal);
+ static timeout(ms) {
+ const signal = new AbortSignal();
+ const timer = setTimeout(abortSignal, ms, signal);
// Prevent the active Timer from keeping the Node.js event loop active.
if (typeof timer.unref === "function") {
timer.unref();
}
return signal;
- };
- return AbortController;
-}());
+ }
+}
exports.AbortController = AbortController;
exports.AbortError = AbortError;
@@ -9894,319 +10135,6 @@ exports.AbortSignal = AbortSignal;
//# sourceMappingURL=index.js.map
-/***/ }),
-
-/***/ 9268:
-/***/ ((module) => {
-
-/*! *****************************************************************************
-Copyright (c) Microsoft Corporation.
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
-REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
-INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
-LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-***************************************************************************** */
-/* global global, define, System, Reflect, Promise */
-var __extends;
-var __assign;
-var __rest;
-var __decorate;
-var __param;
-var __metadata;
-var __awaiter;
-var __generator;
-var __exportStar;
-var __values;
-var __read;
-var __spread;
-var __spreadArrays;
-var __spreadArray;
-var __await;
-var __asyncGenerator;
-var __asyncDelegator;
-var __asyncValues;
-var __makeTemplateObject;
-var __importStar;
-var __importDefault;
-var __classPrivateFieldGet;
-var __classPrivateFieldSet;
-var __createBinding;
-(function (factory) {
- var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {};
- if (typeof define === "function" && define.amd) {
- define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); });
- }
- else if ( true && typeof module.exports === "object") {
- factory(createExporter(root, createExporter(module.exports)));
- }
- else {
- factory(createExporter(root));
- }
- function createExporter(exports, previous) {
- if (exports !== root) {
- if (typeof Object.create === "function") {
- Object.defineProperty(exports, "__esModule", { value: true });
- }
- else {
- exports.__esModule = true;
- }
- }
- return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };
- }
-})
-(function (exporter) {
- var extendStatics = Object.setPrototypeOf ||
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
-
- __extends = function (d, b) {
- if (typeof b !== "function" && b !== null)
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
-
- __assign = Object.assign || function (t) {
- for (var s, i = 1, n = arguments.length; i < n; i++) {
- s = arguments[i];
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
- }
- return t;
- };
-
- __rest = function (s, e) {
- var t = {};
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
- t[p] = s[p];
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
- t[p[i]] = s[p[i]];
- }
- return t;
- };
-
- __decorate = function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
-
- __param = function (paramIndex, decorator) {
- return function (target, key) { decorator(target, key, paramIndex); }
- };
-
- __metadata = function (metadataKey, metadataValue) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
- };
-
- __awaiter = function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
- };
-
- __generator = function (thisArg, body) {
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
- function verb(n) { return function (v) { return step([n, v]); }; }
- function step(op) {
- if (f) throw new TypeError("Generator is already executing.");
- while (_) try {
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
- if (y = 0, t) op = [op[0] & 2, t.value];
- switch (op[0]) {
- case 0: case 1: t = op; break;
- case 4: _.label++; return { value: op[1], done: false };
- case 5: _.label++; y = op[1]; op = [0]; continue;
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
- default:
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
- if (t[2]) _.ops.pop();
- _.trys.pop(); continue;
- }
- op = body.call(thisArg, _);
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
- }
- };
-
- __exportStar = function(m, o) {
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
- };
-
- __createBinding = Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
- }) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
- });
-
- __values = function (o) {
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
- if (m) return m.call(o);
- if (o && typeof o.length === "number") return {
- next: function () {
- if (o && i >= o.length) o = void 0;
- return { value: o && o[i++], done: !o };
- }
- };
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
- };
-
- __read = function (o, n) {
- var m = typeof Symbol === "function" && o[Symbol.iterator];
- if (!m) return o;
- var i = m.call(o), r, ar = [], e;
- try {
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
- }
- catch (error) { e = { error: error }; }
- finally {
- try {
- if (r && !r.done && (m = i["return"])) m.call(i);
- }
- finally { if (e) throw e.error; }
- }
- return ar;
- };
-
- /** @deprecated */
- __spread = function () {
- for (var ar = [], i = 0; i < arguments.length; i++)
- ar = ar.concat(__read(arguments[i]));
- return ar;
- };
-
- /** @deprecated */
- __spreadArrays = function () {
- for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
- r[k] = a[j];
- return r;
- };
-
- __spreadArray = function (to, from, pack) {
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
- if (ar || !(i in from)) {
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
- ar[i] = from[i];
- }
- }
- return to.concat(ar || Array.prototype.slice.call(from));
- };
-
- __await = function (v) {
- return this instanceof __await ? (this.v = v, this) : new __await(v);
- };
-
- __asyncGenerator = function (thisArg, _arguments, generator) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
- function fulfill(value) { resume("next", value); }
- function reject(value) { resume("throw", value); }
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
- };
-
- __asyncDelegator = function (o) {
- var i, p;
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
- };
-
- __asyncValues = function (o) {
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
- var m = o[Symbol.asyncIterator], i;
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
- };
-
- __makeTemplateObject = function (cooked, raw) {
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
- return cooked;
- };
-
- var __setModuleDefault = Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
- }) : function(o, v) {
- o["default"] = v;
- };
-
- __importStar = function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
- };
-
- __importDefault = function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
-
- __classPrivateFieldGet = function (receiver, state, kind, f) {
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
- };
-
- __classPrivateFieldSet = function (receiver, state, value, kind, f) {
- if (kind === "m") throw new TypeError("Private method is not writable");
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
- };
-
- exporter("__extends", __extends);
- exporter("__assign", __assign);
- exporter("__rest", __rest);
- exporter("__decorate", __decorate);
- exporter("__param", __param);
- exporter("__metadata", __metadata);
- exporter("__awaiter", __awaiter);
- exporter("__generator", __generator);
- exporter("__exportStar", __exportStar);
- exporter("__createBinding", __createBinding);
- exporter("__values", __values);
- exporter("__read", __read);
- exporter("__spread", __spread);
- exporter("__spreadArrays", __spreadArrays);
- exporter("__spreadArray", __spreadArray);
- exporter("__await", __await);
- exporter("__asyncGenerator", __asyncGenerator);
- exporter("__asyncDelegator", __asyncDelegator);
- exporter("__asyncValues", __asyncValues);
- exporter("__makeTemplateObject", __makeTemplateObject);
- exporter("__importStar", __importStar);
- exporter("__importDefault", __importDefault);
- exporter("__classPrivateFieldGet", __classPrivateFieldGet);
- exporter("__classPrivateFieldSet", __classPrivateFieldSet);
-});
-
-
/***/ }),
/***/ 2356:
@@ -71022,73 +70950,73 @@ function wrappy (fn, cb) {
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.configAuthentication = void 0;
-const fs = __importStar(__nccwpck_require__(7147));
-const os = __importStar(__nccwpck_require__(2037));
-const path = __importStar(__nccwpck_require__(1017));
-const core = __importStar(__nccwpck_require__(2186));
-const github = __importStar(__nccwpck_require__(5438));
-function configAuthentication(registryUrl, alwaysAuth) {
- const npmrc = path.resolve(process.env['RUNNER_TEMP'] || process.cwd(), '.npmrc');
- if (!registryUrl.endsWith('/')) {
- registryUrl += '/';
- }
- writeRegistryToFile(registryUrl, npmrc, alwaysAuth);
-}
-exports.configAuthentication = configAuthentication;
-function writeRegistryToFile(registryUrl, fileLocation, alwaysAuth) {
- let scope = core.getInput('scope');
- if (!scope && registryUrl.indexOf('npm.pkg.github.com') > -1) {
- scope = github.context.repo.owner;
- }
- if (scope && scope[0] != '@') {
- scope = '@' + scope;
- }
- if (scope) {
- scope = scope.toLowerCase() + ':';
- }
- core.debug(`Setting auth in ${fileLocation}`);
- let newContents = '';
- if (fs.existsSync(fileLocation)) {
- const curContents = fs.readFileSync(fileLocation, 'utf8');
- curContents.split(os.EOL).forEach((line) => {
- // Add current contents unless they are setting the registry
- if (!line.toLowerCase().startsWith(`${scope}registry`)) {
- newContents += line + os.EOL;
- }
- });
- }
- // Remove http: or https: from front of registry.
- const authString = registryUrl.replace(/(^\w+:|^)/, '') + ':_authToken=${NODE_AUTH_TOKEN}';
- const registryString = `${scope}registry=${registryUrl}`;
- const alwaysAuthString = `always-auth=${alwaysAuth}`;
- newContents += `${authString}${os.EOL}${registryString}${os.EOL}${alwaysAuthString}`;
- fs.writeFileSync(fileLocation, newContents);
- core.exportVariable('NPM_CONFIG_USERCONFIG', fileLocation);
- // Export empty node_auth_token if didn't exist so npm doesn't complain about not being able to find it
- core.exportVariable('NODE_AUTH_TOKEN', process.env.NODE_AUTH_TOKEN || 'XXXXX-XXXXX-XXXXX-XXXXX');
-}
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.configAuthentication = void 0;
+const fs = __importStar(__nccwpck_require__(7147));
+const os = __importStar(__nccwpck_require__(2037));
+const path = __importStar(__nccwpck_require__(1017));
+const core = __importStar(__nccwpck_require__(2186));
+const github = __importStar(__nccwpck_require__(5438));
+function configAuthentication(registryUrl, alwaysAuth) {
+ const npmrc = path.resolve(process.env['RUNNER_TEMP'] || process.cwd(), '.npmrc');
+ if (!registryUrl.endsWith('/')) {
+ registryUrl += '/';
+ }
+ writeRegistryToFile(registryUrl, npmrc, alwaysAuth);
+}
+exports.configAuthentication = configAuthentication;
+function writeRegistryToFile(registryUrl, fileLocation, alwaysAuth) {
+ let scope = core.getInput('scope');
+ if (!scope && registryUrl.indexOf('npm.pkg.github.com') > -1) {
+ scope = github.context.repo.owner;
+ }
+ if (scope && scope[0] != '@') {
+ scope = '@' + scope;
+ }
+ if (scope) {
+ scope = scope.toLowerCase() + ':';
+ }
+ core.debug(`Setting auth in ${fileLocation}`);
+ let newContents = '';
+ if (fs.existsSync(fileLocation)) {
+ const curContents = fs.readFileSync(fileLocation, 'utf8');
+ curContents.split(os.EOL).forEach((line) => {
+ // Add current contents unless they are setting the registry
+ if (!line.toLowerCase().startsWith(`${scope}registry`)) {
+ newContents += line + os.EOL;
+ }
+ });
+ }
+ // Remove http: or https: from front of registry.
+ const authString = registryUrl.replace(/(^\w+:|^)/, '') + ':_authToken=${NODE_AUTH_TOKEN}';
+ const registryString = `${scope}registry=${registryUrl}`;
+ const alwaysAuthString = `always-auth=${alwaysAuth}`;
+ newContents += `${authString}${os.EOL}${registryString}${os.EOL}${alwaysAuthString}`;
+ fs.writeFileSync(fileLocation, newContents);
+ core.exportVariable('NPM_CONFIG_USERCONFIG', fileLocation);
+ // Export empty node_auth_token if didn't exist so npm doesn't complain about not being able to find it
+ core.exportVariable('NODE_AUTH_TOKEN', process.env.NODE_AUTH_TOKEN || 'XXXXX-XXXXX-XXXXX-XXXXX');
+}
/***/ }),
@@ -71097,84 +71025,84 @@ function writeRegistryToFile(registryUrl, fileLocation, alwaysAuth) {
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.restoreCache = void 0;
-const cache = __importStar(__nccwpck_require__(7799));
-const core = __importStar(__nccwpck_require__(2186));
-const glob = __importStar(__nccwpck_require__(8090));
-const path_1 = __importDefault(__nccwpck_require__(1017));
-const fs_1 = __importDefault(__nccwpck_require__(7147));
-const constants_1 = __nccwpck_require__(9042);
-const cache_utils_1 = __nccwpck_require__(1678);
-const restoreCache = (packageManager, cacheDependencyPath) => __awaiter(void 0, void 0, void 0, function* () {
- const packageManagerInfo = yield cache_utils_1.getPackageManagerInfo(packageManager);
- if (!packageManagerInfo) {
- throw new Error(`Caching for '${packageManager}' is not supported`);
- }
- const platform = process.env.RUNNER_OS;
- const cachePath = yield cache_utils_1.getCacheDirectoryPath(packageManagerInfo, packageManager);
- const lockFilePath = cacheDependencyPath
- ? cacheDependencyPath
- : findLockFile(packageManagerInfo);
- const fileHash = yield glob.hashFiles(lockFilePath);
- if (!fileHash) {
- throw new Error('Some specified paths were not resolved, unable to cache dependencies.');
- }
- const primaryKey = `node-cache-${platform}-${packageManager}-${fileHash}`;
- core.debug(`primary key is ${primaryKey}`);
- core.saveState(constants_1.State.CachePrimaryKey, primaryKey);
- const cacheKey = yield cache.restoreCache([cachePath], primaryKey);
- core.setOutput('cache-hit', Boolean(cacheKey));
- if (!cacheKey) {
- core.info(`${packageManager} cache is not found`);
- return;
- }
- core.saveState(constants_1.State.CacheMatchedKey, cacheKey);
- core.info(`Cache restored from key: ${cacheKey}`);
-});
-exports.restoreCache = restoreCache;
-const findLockFile = (packageManager) => {
- const lockFiles = packageManager.lockFilePatterns;
- const workspace = process.env.GITHUB_WORKSPACE;
- const rootContent = fs_1.default.readdirSync(workspace);
- const lockFile = lockFiles.find(item => rootContent.includes(item));
- if (!lockFile) {
- throw new Error(`Dependencies lock file is not found in ${workspace}. Supported file patterns: ${lockFiles.toString()}`);
- }
- return path_1.default.join(workspace, lockFile);
-};
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.restoreCache = void 0;
+const cache = __importStar(__nccwpck_require__(7799));
+const core = __importStar(__nccwpck_require__(2186));
+const glob = __importStar(__nccwpck_require__(8090));
+const path_1 = __importDefault(__nccwpck_require__(1017));
+const fs_1 = __importDefault(__nccwpck_require__(7147));
+const constants_1 = __nccwpck_require__(9042);
+const cache_utils_1 = __nccwpck_require__(1678);
+const restoreCache = (packageManager, cacheDependencyPath) => __awaiter(void 0, void 0, void 0, function* () {
+ const packageManagerInfo = yield cache_utils_1.getPackageManagerInfo(packageManager);
+ if (!packageManagerInfo) {
+ throw new Error(`Caching for '${packageManager}' is not supported`);
+ }
+ const platform = process.env.RUNNER_OS;
+ const cachePath = yield cache_utils_1.getCacheDirectoryPath(packageManagerInfo, packageManager);
+ const lockFilePath = cacheDependencyPath
+ ? cacheDependencyPath
+ : findLockFile(packageManagerInfo);
+ const fileHash = yield glob.hashFiles(lockFilePath);
+ if (!fileHash) {
+ throw new Error('Some specified paths were not resolved, unable to cache dependencies.');
+ }
+ const primaryKey = `node-cache-${platform}-${packageManager}-${fileHash}`;
+ core.debug(`primary key is ${primaryKey}`);
+ core.saveState(constants_1.State.CachePrimaryKey, primaryKey);
+ const cacheKey = yield cache.restoreCache([cachePath], primaryKey);
+ core.setOutput('cache-hit', Boolean(cacheKey));
+ if (!cacheKey) {
+ core.info(`${packageManager} cache is not found`);
+ return;
+ }
+ core.saveState(constants_1.State.CacheMatchedKey, cacheKey);
+ core.info(`Cache restored from key: ${cacheKey}`);
+});
+exports.restoreCache = restoreCache;
+const findLockFile = (packageManager) => {
+ const lockFiles = packageManager.lockFilePatterns;
+ const workspace = process.env.GITHUB_WORKSPACE;
+ const rootContent = fs_1.default.readdirSync(workspace);
+ const lockFile = lockFiles.find(item => rootContent.includes(item));
+ if (!lockFile) {
+ throw new Error(`Dependencies lock file is not found in ${workspace}. Supported file patterns: ${lockFiles.toString()}`);
+ }
+ return path_1.default.join(workspace, lockFile);
+};
/***/ }),
@@ -71183,123 +71111,123 @@ const findLockFile = (packageManager) => {
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.isCacheFeatureAvailable = exports.isGhes = exports.getCacheDirectoryPath = exports.getPackageManagerInfo = exports.getCommandOutput = exports.supportedPackageManagers = void 0;
-const core = __importStar(__nccwpck_require__(2186));
-const exec = __importStar(__nccwpck_require__(1514));
-const cache = __importStar(__nccwpck_require__(7799));
-exports.supportedPackageManagers = {
- npm: {
- lockFilePatterns: ['package-lock.json', 'npm-shrinkwrap.json', 'yarn.lock'],
- getCacheFolderCommand: 'npm config get cache'
- },
- pnpm: {
- lockFilePatterns: ['pnpm-lock.yaml'],
- getCacheFolderCommand: 'pnpm store path --silent'
- },
- yarn1: {
- lockFilePatterns: ['yarn.lock'],
- getCacheFolderCommand: 'yarn cache dir'
- },
- yarn2: {
- lockFilePatterns: ['yarn.lock'],
- getCacheFolderCommand: 'yarn config get cacheFolder'
- }
-};
-const getCommandOutput = (toolCommand) => __awaiter(void 0, void 0, void 0, function* () {
- let { stdout, stderr, exitCode } = yield exec.getExecOutput(toolCommand, undefined, { ignoreReturnCode: true });
- if (exitCode) {
- stderr = !stderr.trim()
- ? `The '${toolCommand}' command failed with exit code: ${exitCode}`
- : stderr;
- throw new Error(stderr);
- }
- return stdout.trim();
-});
-exports.getCommandOutput = getCommandOutput;
-const getPackageManagerVersion = (packageManager, command) => __awaiter(void 0, void 0, void 0, function* () {
- const stdOut = yield exports.getCommandOutput(`${packageManager} ${command}`);
- if (!stdOut) {
- throw new Error(`Could not retrieve version of ${packageManager}`);
- }
- return stdOut;
-});
-const getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, void 0, function* () {
- if (packageManager === 'npm') {
- return exports.supportedPackageManagers.npm;
- }
- else if (packageManager === 'pnpm') {
- return exports.supportedPackageManagers.pnpm;
- }
- else if (packageManager === 'yarn') {
- const yarnVersion = yield getPackageManagerVersion('yarn', '--version');
- core.debug(`Consumed yarn version is ${yarnVersion}`);
- if (yarnVersion.startsWith('1.')) {
- return exports.supportedPackageManagers.yarn1;
- }
- else {
- return exports.supportedPackageManagers.yarn2;
- }
- }
- else {
- return null;
- }
-});
-exports.getPackageManagerInfo = getPackageManagerInfo;
-const getCacheDirectoryPath = (packageManagerInfo, packageManager) => __awaiter(void 0, void 0, void 0, function* () {
- const stdOut = yield exports.getCommandOutput(packageManagerInfo.getCacheFolderCommand);
- if (!stdOut) {
- throw new Error(`Could not get cache folder path for ${packageManager}`);
- }
- core.debug(`${packageManager} path is ${stdOut}`);
- return stdOut.trim();
-});
-exports.getCacheDirectoryPath = getCacheDirectoryPath;
-function isGhes() {
- const ghUrl = new URL(process.env['GITHUB_SERVER_URL'] || 'https://github.com');
- return ghUrl.hostname.toUpperCase() !== 'GITHUB.COM';
-}
-exports.isGhes = isGhes;
-function isCacheFeatureAvailable() {
- if (cache.isFeatureAvailable())
- return true;
- if (isGhes()) {
- core.warning('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.');
- return false;
- }
- core.warning('The runner was not able to contact the cache service. Caching will be skipped');
- return false;
-}
-exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.isCacheFeatureAvailable = exports.isGhes = exports.getCacheDirectoryPath = exports.getPackageManagerInfo = exports.getCommandOutput = exports.supportedPackageManagers = void 0;
+const core = __importStar(__nccwpck_require__(2186));
+const exec = __importStar(__nccwpck_require__(1514));
+const cache = __importStar(__nccwpck_require__(7799));
+exports.supportedPackageManagers = {
+ npm: {
+ lockFilePatterns: ['package-lock.json', 'npm-shrinkwrap.json', 'yarn.lock'],
+ getCacheFolderCommand: 'npm config get cache'
+ },
+ pnpm: {
+ lockFilePatterns: ['pnpm-lock.yaml'],
+ getCacheFolderCommand: 'pnpm store path --silent'
+ },
+ yarn1: {
+ lockFilePatterns: ['yarn.lock'],
+ getCacheFolderCommand: 'yarn cache dir'
+ },
+ yarn2: {
+ lockFilePatterns: ['yarn.lock'],
+ getCacheFolderCommand: 'yarn config get cacheFolder'
+ }
+};
+const getCommandOutput = (toolCommand) => __awaiter(void 0, void 0, void 0, function* () {
+ let { stdout, stderr, exitCode } = yield exec.getExecOutput(toolCommand, undefined, { ignoreReturnCode: true });
+ if (exitCode) {
+ stderr = !stderr.trim()
+ ? `The '${toolCommand}' command failed with exit code: ${exitCode}`
+ : stderr;
+ throw new Error(stderr);
+ }
+ return stdout.trim();
+});
+exports.getCommandOutput = getCommandOutput;
+const getPackageManagerVersion = (packageManager, command) => __awaiter(void 0, void 0, void 0, function* () {
+ const stdOut = yield exports.getCommandOutput(`${packageManager} ${command}`);
+ if (!stdOut) {
+ throw new Error(`Could not retrieve version of ${packageManager}`);
+ }
+ return stdOut;
+});
+const getPackageManagerInfo = (packageManager) => __awaiter(void 0, void 0, void 0, function* () {
+ if (packageManager === 'npm') {
+ return exports.supportedPackageManagers.npm;
+ }
+ else if (packageManager === 'pnpm') {
+ return exports.supportedPackageManagers.pnpm;
+ }
+ else if (packageManager === 'yarn') {
+ const yarnVersion = yield getPackageManagerVersion('yarn', '--version');
+ core.debug(`Consumed yarn version is ${yarnVersion}`);
+ if (yarnVersion.startsWith('1.')) {
+ return exports.supportedPackageManagers.yarn1;
+ }
+ else {
+ return exports.supportedPackageManagers.yarn2;
+ }
+ }
+ else {
+ return null;
+ }
+});
+exports.getPackageManagerInfo = getPackageManagerInfo;
+const getCacheDirectoryPath = (packageManagerInfo, packageManager) => __awaiter(void 0, void 0, void 0, function* () {
+ const stdOut = yield exports.getCommandOutput(packageManagerInfo.getCacheFolderCommand);
+ if (!stdOut) {
+ throw new Error(`Could not get cache folder path for ${packageManager}`);
+ }
+ core.debug(`${packageManager} path is ${stdOut}`);
+ return stdOut.trim();
+});
+exports.getCacheDirectoryPath = getCacheDirectoryPath;
+function isGhes() {
+ const ghUrl = new URL(process.env['GITHUB_SERVER_URL'] || 'https://github.com');
+ return ghUrl.hostname.toUpperCase() !== 'GITHUB.COM';
+}
+exports.isGhes = isGhes;
+function isCacheFeatureAvailable() {
+ if (cache.isFeatureAvailable())
+ return true;
+ if (isGhes()) {
+ core.warning('Cache action is only supported on GHES version >= 3.5. If you are on version >=3.5 Please check with GHES admin if Actions cache service is enabled or not.');
+ return false;
+ }
+ core.warning('The runner was not able to contact the cache service. Caching will be skipped');
+ return false;
+}
+exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
/***/ }),
@@ -71308,24 +71236,24 @@ exports.isCacheFeatureAvailable = isCacheFeatureAvailable;
/***/ ((__unused_webpack_module, exports) => {
"use strict";
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.Outputs = exports.State = exports.LockType = void 0;
-var LockType;
-(function (LockType) {
- LockType["Npm"] = "npm";
- LockType["Pnpm"] = "pnpm";
- LockType["Yarn"] = "yarn";
-})(LockType = exports.LockType || (exports.LockType = {}));
-var State;
-(function (State) {
- State["CachePrimaryKey"] = "CACHE_KEY";
- State["CacheMatchedKey"] = "CACHE_RESULT";
-})(State = exports.State || (exports.State = {}));
-var Outputs;
-(function (Outputs) {
- Outputs["CacheHit"] = "cache-hit";
-})(Outputs = exports.Outputs || (exports.Outputs = {}));
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.Outputs = exports.State = exports.LockType = void 0;
+var LockType;
+(function (LockType) {
+ LockType["Npm"] = "npm";
+ LockType["Pnpm"] = "pnpm";
+ LockType["Yarn"] = "yarn";
+})(LockType = exports.LockType || (exports.LockType = {}));
+var State;
+(function (State) {
+ State["CachePrimaryKey"] = "CACHE_KEY";
+ State["CacheMatchedKey"] = "CACHE_RESULT";
+})(State = exports.State || (exports.State = {}));
+var Outputs;
+(function (Outputs) {
+ Outputs["CacheHit"] = "cache-hit";
+})(Outputs = exports.Outputs || (exports.Outputs = {}));
/***/ }),
@@ -71334,73 +71262,73 @@ var Outputs;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const tc = __importStar(__nccwpck_require__(7784));
-const semver_1 = __importDefault(__nccwpck_require__(5911));
-const base_distribution_1 = __importDefault(__nccwpck_require__(7));
-class BasePrereleaseNodejs extends base_distribution_1.default {
- constructor(nodeInfo) {
- super(nodeInfo);
- }
- findVersionInHostedToolCacheDirectory() {
- let toolPath = '';
- const localVersionPaths = tc
- .findAllVersions('node', this.nodeInfo.arch)
- .filter(i => {
- const prerelease = semver_1.default.prerelease(i);
- if (!prerelease) {
- return false;
- }
- return prerelease[0].includes(this.distribution);
- });
- localVersionPaths.sort(semver_1.default.rcompare);
- const localVersion = this.evaluateVersions(localVersionPaths);
- if (localVersion) {
- toolPath = tc.find('node', localVersion, this.nodeInfo.arch);
- }
- return toolPath;
- }
- validRange(versionSpec) {
- let range;
- const [raw, prerelease] = this.splitVersionSpec(versionSpec);
- const isValidVersion = semver_1.default.valid(raw);
- const rawVersion = (isValidVersion ? raw : semver_1.default.coerce(raw));
- if (prerelease !== this.distribution) {
- range = versionSpec;
- }
- else {
- range = `${semver_1.default.validRange(`^${rawVersion}-${this.distribution}`)}-0`;
- }
- return { range, options: { includePrerelease: !isValidVersion } };
- }
- splitVersionSpec(versionSpec) {
- return versionSpec.split(/-(.*)/s);
- }
-}
-exports["default"] = BasePrereleaseNodejs;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const tc = __importStar(__nccwpck_require__(7784));
+const semver_1 = __importDefault(__nccwpck_require__(5911));
+const base_distribution_1 = __importDefault(__nccwpck_require__(7));
+class BasePrereleaseNodejs extends base_distribution_1.default {
+ constructor(nodeInfo) {
+ super(nodeInfo);
+ }
+ findVersionInHostedToolCacheDirectory() {
+ let toolPath = '';
+ const localVersionPaths = tc
+ .findAllVersions('node', this.nodeInfo.arch)
+ .filter(i => {
+ const prerelease = semver_1.default.prerelease(i);
+ if (!prerelease) {
+ return false;
+ }
+ return prerelease[0].includes(this.distribution);
+ });
+ localVersionPaths.sort(semver_1.default.rcompare);
+ const localVersion = this.evaluateVersions(localVersionPaths);
+ if (localVersion) {
+ toolPath = tc.find('node', localVersion, this.nodeInfo.arch);
+ }
+ return toolPath;
+ }
+ validRange(versionSpec) {
+ let range;
+ const [raw, prerelease] = this.splitVersionSpec(versionSpec);
+ const isValidVersion = semver_1.default.valid(raw);
+ const rawVersion = (isValidVersion ? raw : semver_1.default.coerce(raw));
+ if (prerelease !== this.distribution) {
+ range = versionSpec;
+ }
+ else {
+ range = `${semver_1.default.validRange(`^${rawVersion}-${this.distribution}`)}-0`;
+ }
+ return { range, options: { includePrerelease: !isValidVersion } };
+ }
+ splitVersionSpec(versionSpec) {
+ return versionSpec.split(/-(.*)/s);
+ }
+}
+exports["default"] = BasePrereleaseNodejs;
/***/ }),
@@ -71409,275 +71337,275 @@ exports["default"] = BasePrereleaseNodejs;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const tc = __importStar(__nccwpck_require__(7784));
-const hc = __importStar(__nccwpck_require__(9925));
-const core = __importStar(__nccwpck_require__(2186));
-const io = __importStar(__nccwpck_require__(7436));
-const semver_1 = __importDefault(__nccwpck_require__(5911));
-const assert = __importStar(__nccwpck_require__(9491));
-const path = __importStar(__nccwpck_require__(1017));
-const os_1 = __importDefault(__nccwpck_require__(2037));
-const fs_1 = __importDefault(__nccwpck_require__(7147));
-class BaseDistribution {
- constructor(nodeInfo) {
- this.nodeInfo = nodeInfo;
- this.osPlat = os_1.default.platform();
- this.httpClient = new hc.HttpClient('setup-node', [], {
- allowRetries: true,
- maxRetries: 3
- });
- }
- setupNodeJs() {
- return __awaiter(this, void 0, void 0, function* () {
- let nodeJsVersions;
- if (this.nodeInfo.checkLatest) {
- const evaluatedVersion = yield this.findVersionInDist(nodeJsVersions);
- this.nodeInfo.versionSpec = evaluatedVersion;
- }
- let toolPath = this.findVersionInHostedToolCacheDirectory();
- if (toolPath) {
- core.info(`Found in cache @ ${toolPath}`);
- }
- else {
- const evaluatedVersion = yield this.findVersionInDist(nodeJsVersions);
- const toolName = this.getNodejsDistInfo(evaluatedVersion);
- toolPath = yield this.downloadNodejs(toolName);
- }
- if (this.osPlat != 'win32') {
- toolPath = path.join(toolPath, 'bin');
- }
- core.addPath(toolPath);
- });
- }
- findVersionInDist(nodeJsVersions) {
- return __awaiter(this, void 0, void 0, function* () {
- if (!nodeJsVersions) {
- nodeJsVersions = yield this.getNodeJsVersions();
- }
- const versions = this.filterVersions(nodeJsVersions);
- const evaluatedVersion = this.evaluateVersions(versions);
- if (!evaluatedVersion) {
- throw new Error(`Unable to find Node version '${this.nodeInfo.versionSpec}' for platform ${this.osPlat} and architecture ${this.nodeInfo.arch}.`);
- }
- return evaluatedVersion;
- });
- }
- evaluateVersions(versions) {
- let version = '';
- const { range, options } = this.validRange(this.nodeInfo.versionSpec);
- core.debug(`evaluating ${versions.length} versions`);
- for (const potential of versions) {
- const satisfied = semver_1.default.satisfies(potential, range, options);
- if (satisfied) {
- version = potential;
- break;
- }
- }
- if (version) {
- core.debug(`matched: ${version}`);
- }
- else {
- core.debug('match not found');
- }
- return version;
- }
- findVersionInHostedToolCacheDirectory() {
- return tc.find('node', this.nodeInfo.versionSpec, this.nodeInfo.arch);
- }
- getNodeJsVersions() {
- return __awaiter(this, void 0, void 0, function* () {
- const initialUrl = this.getDistributionUrl();
- const dataUrl = `${initialUrl}/index.json`;
- const response = yield this.httpClient.getJson(dataUrl);
- return response.result || [];
- });
- }
- getNodejsDistInfo(version) {
- const osArch = this.translateArchToDistUrl(this.nodeInfo.arch);
- version = semver_1.default.clean(version) || '';
- const fileName = this.osPlat == 'win32'
- ? `node-v${version}-win-${osArch}`
- : `node-v${version}-${this.osPlat}-${osArch}`;
- const urlFileName = this.osPlat == 'win32' ? `${fileName}.7z` : `${fileName}.tar.gz`;
- const initialUrl = this.getDistributionUrl();
- const url = `${initialUrl}/v${version}/${urlFileName}`;
- return {
- downloadUrl: url,
- resolvedVersion: version,
- arch: osArch,
- fileName: fileName
- };
- }
- downloadNodejs(info) {
- return __awaiter(this, void 0, void 0, function* () {
- let downloadPath = '';
- core.info(`Acquiring ${info.resolvedVersion} - ${info.arch} from ${info.downloadUrl}`);
- try {
- downloadPath = yield tc.downloadTool(info.downloadUrl);
- }
- catch (err) {
- if (err instanceof tc.HTTPError &&
- err.httpStatusCode == 404 &&
- this.osPlat == 'win32') {
- return yield this.acquireWindowsNodeFromFallbackLocation(info.resolvedVersion, info.arch);
- }
- throw err;
- }
- const toolPath = yield this.extractArchive(downloadPath, info);
- core.info('Done');
- return toolPath;
- });
- }
- validRange(versionSpec) {
- var _a;
- let options;
- const c = semver_1.default.clean(versionSpec) || '';
- const valid = (_a = semver_1.default.valid(c)) !== null && _a !== void 0 ? _a : versionSpec;
- return { range: valid, options };
- }
- acquireWindowsNodeFromFallbackLocation(version, arch = os_1.default.arch()) {
- return __awaiter(this, void 0, void 0, function* () {
- const initialUrl = this.getDistributionUrl();
- const osArch = this.translateArchToDistUrl(arch);
- // Create temporary folder to download in to
- const tempDownloadFolder = 'temp_' + Math.floor(Math.random() * 2000000000);
- const tempDirectory = process.env['RUNNER_TEMP'] || '';
- assert.ok(tempDirectory, 'Expected RUNNER_TEMP to be defined');
- const tempDir = path.join(tempDirectory, tempDownloadFolder);
- yield io.mkdirP(tempDir);
- let exeUrl;
- let libUrl;
- try {
- exeUrl = `${initialUrl}/v${version}/win-${osArch}/node.exe`;
- libUrl = `${initialUrl}/v${version}/win-${osArch}/node.lib`;
- core.info(`Downloading only node binary from ${exeUrl}`);
- const exePath = yield tc.downloadTool(exeUrl);
- yield io.cp(exePath, path.join(tempDir, 'node.exe'));
- const libPath = yield tc.downloadTool(libUrl);
- yield io.cp(libPath, path.join(tempDir, 'node.lib'));
- }
- catch (err) {
- if (err instanceof tc.HTTPError && err.httpStatusCode == 404) {
- exeUrl = `${initialUrl}/v${version}/node.exe`;
- libUrl = `${initialUrl}/v${version}/node.lib`;
- const exePath = yield tc.downloadTool(exeUrl);
- yield io.cp(exePath, path.join(tempDir, 'node.exe'));
- const libPath = yield tc.downloadTool(libUrl);
- yield io.cp(libPath, path.join(tempDir, 'node.lib'));
- }
- else {
- throw err;
- }
- }
- const toolPath = yield tc.cacheDir(tempDir, 'node', version, arch);
- return toolPath;
- });
- }
- extractArchive(downloadPath, info) {
- return __awaiter(this, void 0, void 0, function* () {
- //
- // Extract
- //
- core.info('Extracting ...');
- let extPath;
- info = info || {}; // satisfy compiler, never null when reaches here
- if (this.osPlat == 'win32') {
- const _7zPath = path.join(__dirname, '../..', 'externals', '7zr.exe');
- extPath = yield tc.extract7z(downloadPath, undefined, _7zPath);
- // 7z extracts to folder matching file name
- const nestedPath = path.join(extPath, path.basename(info.fileName, '.7z'));
- if (fs_1.default.existsSync(nestedPath)) {
- extPath = nestedPath;
- }
- }
- else {
- extPath = yield tc.extractTar(downloadPath, undefined, [
- 'xz',
- '--strip',
- '1'
- ]);
- }
- //
- // Install into the local tool cache - node extracts with a root folder that matches the fileName downloaded
- //
- core.info('Adding to the cache ...');
- const toolPath = yield tc.cacheDir(extPath, 'node', info.resolvedVersion, info.arch);
- return toolPath;
- });
- }
- getDistFileName() {
- const osArch = this.translateArchToDistUrl(this.nodeInfo.arch);
- // node offers a json list of versions
- let dataFileName;
- switch (this.osPlat) {
- case 'linux':
- dataFileName = `linux-${osArch}`;
- break;
- case 'darwin':
- dataFileName = `osx-${osArch}-tar`;
- break;
- case 'win32':
- dataFileName = `win-${osArch}-exe`;
- break;
- default:
- throw new Error(`Unexpected OS '${this.osPlat}'`);
- }
- return dataFileName;
- }
- filterVersions(nodeJsVersions) {
- const versions = [];
- const dataFileName = this.getDistFileName();
- nodeJsVersions.forEach((nodeVersion) => {
- // ensure this version supports your os and platform
- if (nodeVersion.files.indexOf(dataFileName) >= 0) {
- versions.push(nodeVersion.version);
- }
- });
- return versions.sort(semver_1.default.rcompare);
- }
- translateArchToDistUrl(arch) {
- switch (arch) {
- case 'arm':
- return 'armv7l';
- default:
- return arch;
- }
- }
-}
-exports["default"] = BaseDistribution;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const tc = __importStar(__nccwpck_require__(7784));
+const hc = __importStar(__nccwpck_require__(9925));
+const core = __importStar(__nccwpck_require__(2186));
+const io = __importStar(__nccwpck_require__(7436));
+const semver_1 = __importDefault(__nccwpck_require__(5911));
+const assert = __importStar(__nccwpck_require__(9491));
+const path = __importStar(__nccwpck_require__(1017));
+const os_1 = __importDefault(__nccwpck_require__(2037));
+const fs_1 = __importDefault(__nccwpck_require__(7147));
+class BaseDistribution {
+ constructor(nodeInfo) {
+ this.nodeInfo = nodeInfo;
+ this.osPlat = os_1.default.platform();
+ this.httpClient = new hc.HttpClient('setup-node', [], {
+ allowRetries: true,
+ maxRetries: 3
+ });
+ }
+ setupNodeJs() {
+ return __awaiter(this, void 0, void 0, function* () {
+ let nodeJsVersions;
+ if (this.nodeInfo.checkLatest) {
+ const evaluatedVersion = yield this.findVersionInDist(nodeJsVersions);
+ this.nodeInfo.versionSpec = evaluatedVersion;
+ }
+ let toolPath = this.findVersionInHostedToolCacheDirectory();
+ if (toolPath) {
+ core.info(`Found in cache @ ${toolPath}`);
+ }
+ else {
+ const evaluatedVersion = yield this.findVersionInDist(nodeJsVersions);
+ const toolName = this.getNodejsDistInfo(evaluatedVersion);
+ toolPath = yield this.downloadNodejs(toolName);
+ }
+ if (this.osPlat != 'win32') {
+ toolPath = path.join(toolPath, 'bin');
+ }
+ core.addPath(toolPath);
+ });
+ }
+ findVersionInDist(nodeJsVersions) {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (!nodeJsVersions) {
+ nodeJsVersions = yield this.getNodeJsVersions();
+ }
+ const versions = this.filterVersions(nodeJsVersions);
+ const evaluatedVersion = this.evaluateVersions(versions);
+ if (!evaluatedVersion) {
+ throw new Error(`Unable to find Node version '${this.nodeInfo.versionSpec}' for platform ${this.osPlat} and architecture ${this.nodeInfo.arch}.`);
+ }
+ return evaluatedVersion;
+ });
+ }
+ evaluateVersions(versions) {
+ let version = '';
+ const { range, options } = this.validRange(this.nodeInfo.versionSpec);
+ core.debug(`evaluating ${versions.length} versions`);
+ for (const potential of versions) {
+ const satisfied = semver_1.default.satisfies(potential, range, options);
+ if (satisfied) {
+ version = potential;
+ break;
+ }
+ }
+ if (version) {
+ core.debug(`matched: ${version}`);
+ }
+ else {
+ core.debug('match not found');
+ }
+ return version;
+ }
+ findVersionInHostedToolCacheDirectory() {
+ return tc.find('node', this.nodeInfo.versionSpec, this.nodeInfo.arch);
+ }
+ getNodeJsVersions() {
+ return __awaiter(this, void 0, void 0, function* () {
+ const initialUrl = this.getDistributionUrl();
+ const dataUrl = `${initialUrl}/index.json`;
+ const response = yield this.httpClient.getJson(dataUrl);
+ return response.result || [];
+ });
+ }
+ getNodejsDistInfo(version) {
+ const osArch = this.translateArchToDistUrl(this.nodeInfo.arch);
+ version = semver_1.default.clean(version) || '';
+ const fileName = this.osPlat == 'win32'
+ ? `node-v${version}-win-${osArch}`
+ : `node-v${version}-${this.osPlat}-${osArch}`;
+ const urlFileName = this.osPlat == 'win32' ? `${fileName}.7z` : `${fileName}.tar.gz`;
+ const initialUrl = this.getDistributionUrl();
+ const url = `${initialUrl}/v${version}/${urlFileName}`;
+ return {
+ downloadUrl: url,
+ resolvedVersion: version,
+ arch: osArch,
+ fileName: fileName
+ };
+ }
+ downloadNodejs(info) {
+ return __awaiter(this, void 0, void 0, function* () {
+ let downloadPath = '';
+ core.info(`Acquiring ${info.resolvedVersion} - ${info.arch} from ${info.downloadUrl}`);
+ try {
+ downloadPath = yield tc.downloadTool(info.downloadUrl);
+ }
+ catch (err) {
+ if (err instanceof tc.HTTPError &&
+ err.httpStatusCode == 404 &&
+ this.osPlat == 'win32') {
+ return yield this.acquireWindowsNodeFromFallbackLocation(info.resolvedVersion, info.arch);
+ }
+ throw err;
+ }
+ const toolPath = yield this.extractArchive(downloadPath, info);
+ core.info('Done');
+ return toolPath;
+ });
+ }
+ validRange(versionSpec) {
+ var _a;
+ let options;
+ const c = semver_1.default.clean(versionSpec) || '';
+ const valid = (_a = semver_1.default.valid(c)) !== null && _a !== void 0 ? _a : versionSpec;
+ return { range: valid, options };
+ }
+ acquireWindowsNodeFromFallbackLocation(version, arch = os_1.default.arch()) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const initialUrl = this.getDistributionUrl();
+ const osArch = this.translateArchToDistUrl(arch);
+ // Create temporary folder to download in to
+ const tempDownloadFolder = 'temp_' + Math.floor(Math.random() * 2000000000);
+ const tempDirectory = process.env['RUNNER_TEMP'] || '';
+ assert.ok(tempDirectory, 'Expected RUNNER_TEMP to be defined');
+ const tempDir = path.join(tempDirectory, tempDownloadFolder);
+ yield io.mkdirP(tempDir);
+ let exeUrl;
+ let libUrl;
+ try {
+ exeUrl = `${initialUrl}/v${version}/win-${osArch}/node.exe`;
+ libUrl = `${initialUrl}/v${version}/win-${osArch}/node.lib`;
+ core.info(`Downloading only node binary from ${exeUrl}`);
+ const exePath = yield tc.downloadTool(exeUrl);
+ yield io.cp(exePath, path.join(tempDir, 'node.exe'));
+ const libPath = yield tc.downloadTool(libUrl);
+ yield io.cp(libPath, path.join(tempDir, 'node.lib'));
+ }
+ catch (err) {
+ if (err instanceof tc.HTTPError && err.httpStatusCode == 404) {
+ exeUrl = `${initialUrl}/v${version}/node.exe`;
+ libUrl = `${initialUrl}/v${version}/node.lib`;
+ const exePath = yield tc.downloadTool(exeUrl);
+ yield io.cp(exePath, path.join(tempDir, 'node.exe'));
+ const libPath = yield tc.downloadTool(libUrl);
+ yield io.cp(libPath, path.join(tempDir, 'node.lib'));
+ }
+ else {
+ throw err;
+ }
+ }
+ const toolPath = yield tc.cacheDir(tempDir, 'node', version, arch);
+ return toolPath;
+ });
+ }
+ extractArchive(downloadPath, info) {
+ return __awaiter(this, void 0, void 0, function* () {
+ //
+ // Extract
+ //
+ core.info('Extracting ...');
+ let extPath;
+ info = info || {}; // satisfy compiler, never null when reaches here
+ if (this.osPlat == 'win32') {
+ const _7zPath = path.join(__dirname, '../..', 'externals', '7zr.exe');
+ extPath = yield tc.extract7z(downloadPath, undefined, _7zPath);
+ // 7z extracts to folder matching file name
+ const nestedPath = path.join(extPath, path.basename(info.fileName, '.7z'));
+ if (fs_1.default.existsSync(nestedPath)) {
+ extPath = nestedPath;
+ }
+ }
+ else {
+ extPath = yield tc.extractTar(downloadPath, undefined, [
+ 'xz',
+ '--strip',
+ '1'
+ ]);
+ }
+ //
+ // Install into the local tool cache - node extracts with a root folder that matches the fileName downloaded
+ //
+ core.info('Adding to the cache ...');
+ const toolPath = yield tc.cacheDir(extPath, 'node', info.resolvedVersion, info.arch);
+ return toolPath;
+ });
+ }
+ getDistFileName() {
+ const osArch = this.translateArchToDistUrl(this.nodeInfo.arch);
+ // node offers a json list of versions
+ let dataFileName;
+ switch (this.osPlat) {
+ case 'linux':
+ dataFileName = `linux-${osArch}`;
+ break;
+ case 'darwin':
+ dataFileName = `osx-${osArch}-tar`;
+ break;
+ case 'win32':
+ dataFileName = `win-${osArch}-exe`;
+ break;
+ default:
+ throw new Error(`Unexpected OS '${this.osPlat}'`);
+ }
+ return dataFileName;
+ }
+ filterVersions(nodeJsVersions) {
+ const versions = [];
+ const dataFileName = this.getDistFileName();
+ nodeJsVersions.forEach((nodeVersion) => {
+ // ensure this version supports your os and platform
+ if (nodeVersion.files.indexOf(dataFileName) >= 0) {
+ versions.push(nodeVersion.version);
+ }
+ });
+ return versions.sort(semver_1.default.rcompare);
+ }
+ translateArchToDistUrl(arch) {
+ switch (arch) {
+ case 'arm':
+ return 'armv7l';
+ default:
+ return arch;
+ }
+ }
+}
+exports["default"] = BaseDistribution;
/***/ }),
@@ -71686,41 +71614,41 @@ exports["default"] = BaseDistribution;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.getNodejsDistribution = void 0;
-const nightly_builds_1 = __importDefault(__nccwpck_require__(7127));
-const official_builds_1 = __importDefault(__nccwpck_require__(7854));
-const rc_builds_1 = __importDefault(__nccwpck_require__(8837));
-const canary_builds_1 = __importDefault(__nccwpck_require__(969));
-var Distributions;
-(function (Distributions) {
- Distributions["DEFAULT"] = "";
- Distributions["CANARY"] = "v8-canary";
- Distributions["NIGHTLY"] = "nightly";
- Distributions["RC"] = "rc";
-})(Distributions || (Distributions = {}));
-function getNodejsDistribution(installerOptions) {
- const versionSpec = installerOptions.versionSpec;
- let distribution;
- if (versionSpec.includes(Distributions.NIGHTLY)) {
- distribution = new nightly_builds_1.default(installerOptions);
- }
- else if (versionSpec.includes(Distributions.CANARY)) {
- distribution = new canary_builds_1.default(installerOptions);
- }
- else if (versionSpec.includes(Distributions.RC)) {
- distribution = new rc_builds_1.default(installerOptions);
- }
- else {
- distribution = new official_builds_1.default(installerOptions);
- }
- return distribution;
-}
-exports.getNodejsDistribution = getNodejsDistribution;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.getNodejsDistribution = void 0;
+const nightly_builds_1 = __importDefault(__nccwpck_require__(7127));
+const official_builds_1 = __importDefault(__nccwpck_require__(7854));
+const rc_builds_1 = __importDefault(__nccwpck_require__(8837));
+const canary_builds_1 = __importDefault(__nccwpck_require__(969));
+var Distributions;
+(function (Distributions) {
+ Distributions["DEFAULT"] = "";
+ Distributions["CANARY"] = "v8-canary";
+ Distributions["NIGHTLY"] = "nightly";
+ Distributions["RC"] = "rc";
+})(Distributions || (Distributions = {}));
+function getNodejsDistribution(installerOptions) {
+ const versionSpec = installerOptions.versionSpec;
+ let distribution;
+ if (versionSpec.includes(Distributions.NIGHTLY)) {
+ distribution = new nightly_builds_1.default(installerOptions);
+ }
+ else if (versionSpec.includes(Distributions.CANARY)) {
+ distribution = new canary_builds_1.default(installerOptions);
+ }
+ else if (versionSpec.includes(Distributions.RC)) {
+ distribution = new rc_builds_1.default(installerOptions);
+ }
+ else {
+ distribution = new official_builds_1.default(installerOptions);
+ }
+ return distribution;
+}
+exports.getNodejsDistribution = getNodejsDistribution;
/***/ }),
@@ -71729,22 +71657,22 @@ exports.getNodejsDistribution = getNodejsDistribution;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const base_distribution_prerelease_1 = __importDefault(__nccwpck_require__(957));
-class NightlyNodejs extends base_distribution_prerelease_1.default {
- constructor(nodeInfo) {
- super(nodeInfo);
- this.distribution = 'nightly';
- }
- getDistributionUrl() {
- return 'https://nodejs.org/download/nightly';
- }
-}
-exports["default"] = NightlyNodejs;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const base_distribution_prerelease_1 = __importDefault(__nccwpck_require__(957));
+class NightlyNodejs extends base_distribution_prerelease_1.default {
+ constructor(nodeInfo) {
+ super(nodeInfo);
+ this.distribution = 'nightly';
+ }
+ getDistributionUrl() {
+ return 'https://nodejs.org/download/nightly';
+ }
+}
+exports["default"] = NightlyNodejs;
/***/ }),
@@ -71753,203 +71681,203 @@ exports["default"] = NightlyNodejs;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const core = __importStar(__nccwpck_require__(2186));
-const tc = __importStar(__nccwpck_require__(7784));
-const path_1 = __importDefault(__nccwpck_require__(1017));
-const base_distribution_1 = __importDefault(__nccwpck_require__(7));
-class OfficialBuilds extends base_distribution_1.default {
- constructor(nodeInfo) {
- super(nodeInfo);
- }
- setupNodeJs() {
- return __awaiter(this, void 0, void 0, function* () {
- let manifest;
- let nodeJsVersions;
- const osArch = this.translateArchToDistUrl(this.nodeInfo.arch);
- if (this.isLtsAlias(this.nodeInfo.versionSpec)) {
- core.info('Attempt to resolve LTS alias from manifest...');
- // No try-catch since it's not possible to resolve LTS alias without manifest
- manifest = yield this.getManifest();
- this.nodeInfo.versionSpec = this.resolveLtsAliasFromManifest(this.nodeInfo.versionSpec, this.nodeInfo.stable, manifest);
- }
- if (this.isLatestSyntax(this.nodeInfo.versionSpec)) {
- nodeJsVersions = yield this.getNodeJsVersions();
- const versions = this.filterVersions(nodeJsVersions);
- this.nodeInfo.versionSpec = this.evaluateVersions(versions);
- core.info('getting latest node version...');
- }
- if (this.nodeInfo.checkLatest) {
- core.info('Attempt to resolve the latest version from manifest...');
- const resolvedVersion = yield this.resolveVersionFromManifest(this.nodeInfo.versionSpec, this.nodeInfo.stable, osArch, manifest);
- if (resolvedVersion) {
- this.nodeInfo.versionSpec = resolvedVersion;
- core.info(`Resolved as '${resolvedVersion}'`);
- }
- else {
- core.info(`Failed to resolve version ${this.nodeInfo.versionSpec} from manifest`);
- }
- }
- let toolPath = this.findVersionInHostedToolCacheDirectory();
- if (toolPath) {
- core.info(`Found in cache @ ${toolPath}`);
- }
- else {
- let downloadPath = '';
- try {
- core.info(`Attempting to download ${this.nodeInfo.versionSpec}...`);
- const versionInfo = yield this.getInfoFromManifest(this.nodeInfo.versionSpec, this.nodeInfo.stable, osArch, manifest);
- if (versionInfo) {
- core.info(`Acquiring ${versionInfo.resolvedVersion} - ${versionInfo.arch} from ${versionInfo.downloadUrl}`);
- downloadPath = yield tc.downloadTool(versionInfo.downloadUrl, undefined, this.nodeInfo.auth);
- if (downloadPath) {
- toolPath = yield this.extractArchive(downloadPath, versionInfo);
- }
- }
- else {
- core.info('Not found in manifest. Falling back to download directly from Node');
- }
- }
- catch (err) {
- // Rate limit?
- if (err instanceof tc.HTTPError &&
- (err.httpStatusCode === 403 || err.httpStatusCode === 429)) {
- core.info(`Received HTTP status code ${err.httpStatusCode}. This usually indicates the rate limit has been exceeded`);
- }
- else {
- core.info(err.message);
- }
- core.debug(err.stack);
- core.info('Falling back to download directly from Node');
- }
- if (!toolPath) {
- const nodeJsVersions = yield this.getNodeJsVersions();
- const versions = this.filterVersions(nodeJsVersions);
- const evaluatedVersion = this.evaluateVersions(versions);
- if (!evaluatedVersion) {
- throw new Error(`Unable to find Node version '${this.nodeInfo.versionSpec}' for platform ${this.osPlat} and architecture ${this.nodeInfo.arch}.`);
- }
- const toolName = this.getNodejsDistInfo(evaluatedVersion);
- toolPath = yield this.downloadNodejs(toolName);
- }
- }
- if (this.osPlat != 'win32') {
- toolPath = path_1.default.join(toolPath, 'bin');
- }
- core.addPath(toolPath);
- });
- }
- evaluateVersions(versions) {
- let version = '';
- if (this.isLatestSyntax(this.nodeInfo.versionSpec)) {
- core.info(`getting latest node version...`);
- return versions[0];
- }
- version = super.evaluateVersions(versions);
- return version;
- }
- getDistributionUrl() {
- return `https://nodejs.org/dist`;
- }
- getManifest() {
- core.debug('Getting manifest from actions/node-versions@main');
- return tc.getManifestFromRepo('actions', 'node-versions', this.nodeInfo.auth, 'main');
- }
- resolveLtsAliasFromManifest(versionSpec, stable, manifest) {
- var _a;
- const alias = (_a = versionSpec.split('lts/')[1]) === null || _a === void 0 ? void 0 : _a.toLowerCase();
- if (!alias) {
- throw new Error(`Unable to parse LTS alias for Node version '${versionSpec}'`);
- }
- core.debug(`LTS alias '${alias}' for Node version '${versionSpec}'`);
- // Supported formats are `lts/`, `lts/*`, and `lts/-n`. Where asterisk means highest possible LTS and -n means the nth-highest.
- const n = Number(alias);
- const aliases = Object.fromEntries(manifest
- .filter(x => x.lts && x.stable === stable)
- .map(x => [x.lts.toLowerCase(), x])
- .reverse());
- const numbered = Object.values(aliases);
- const release = alias === '*'
- ? numbered[numbered.length - 1]
- : n < 0
- ? numbered[numbered.length - 1 + n]
- : aliases[alias];
- if (!release) {
- throw new Error(`Unable to find LTS release '${alias}' for Node version '${versionSpec}'.`);
- }
- core.debug(`Found LTS release '${release.version}' for Node version '${versionSpec}'`);
- return release.version.split('.')[0];
- }
- resolveVersionFromManifest(versionSpec, stable, osArch, manifest) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- const info = yield this.getInfoFromManifest(versionSpec, stable, osArch, manifest);
- return info === null || info === void 0 ? void 0 : info.resolvedVersion;
- }
- catch (err) {
- core.info('Unable to resolve version from manifest...');
- core.debug(err.message);
- }
- });
- }
- getInfoFromManifest(versionSpec, stable, osArch, manifest) {
- return __awaiter(this, void 0, void 0, function* () {
- let info = null;
- if (!manifest) {
- core.debug('No manifest cached');
- manifest = yield this.getManifest();
- }
- const rel = yield tc.findFromManifest(versionSpec, stable, manifest, osArch);
- if (rel && rel.files.length > 0) {
- info = {};
- info.resolvedVersion = rel.version;
- info.arch = rel.files[0].arch;
- info.downloadUrl = rel.files[0].download_url;
- info.fileName = rel.files[0].filename;
- }
- return info;
- });
- }
- isLtsAlias(versionSpec) {
- return versionSpec.startsWith('lts/');
- }
- isLatestSyntax(versionSpec) {
- return ['current', 'latest', 'node'].includes(versionSpec);
- }
-}
-exports["default"] = OfficialBuilds;
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const core = __importStar(__nccwpck_require__(2186));
+const tc = __importStar(__nccwpck_require__(7784));
+const path_1 = __importDefault(__nccwpck_require__(1017));
+const base_distribution_1 = __importDefault(__nccwpck_require__(7));
+class OfficialBuilds extends base_distribution_1.default {
+ constructor(nodeInfo) {
+ super(nodeInfo);
+ }
+ setupNodeJs() {
+ return __awaiter(this, void 0, void 0, function* () {
+ let manifest;
+ let nodeJsVersions;
+ const osArch = this.translateArchToDistUrl(this.nodeInfo.arch);
+ if (this.isLtsAlias(this.nodeInfo.versionSpec)) {
+ core.info('Attempt to resolve LTS alias from manifest...');
+ // No try-catch since it's not possible to resolve LTS alias without manifest
+ manifest = yield this.getManifest();
+ this.nodeInfo.versionSpec = this.resolveLtsAliasFromManifest(this.nodeInfo.versionSpec, this.nodeInfo.stable, manifest);
+ }
+ if (this.isLatestSyntax(this.nodeInfo.versionSpec)) {
+ nodeJsVersions = yield this.getNodeJsVersions();
+ const versions = this.filterVersions(nodeJsVersions);
+ this.nodeInfo.versionSpec = this.evaluateVersions(versions);
+ core.info('getting latest node version...');
+ }
+ if (this.nodeInfo.checkLatest) {
+ core.info('Attempt to resolve the latest version from manifest...');
+ const resolvedVersion = yield this.resolveVersionFromManifest(this.nodeInfo.versionSpec, this.nodeInfo.stable, osArch, manifest);
+ if (resolvedVersion) {
+ this.nodeInfo.versionSpec = resolvedVersion;
+ core.info(`Resolved as '${resolvedVersion}'`);
+ }
+ else {
+ core.info(`Failed to resolve version ${this.nodeInfo.versionSpec} from manifest`);
+ }
+ }
+ let toolPath = this.findVersionInHostedToolCacheDirectory();
+ if (toolPath) {
+ core.info(`Found in cache @ ${toolPath}`);
+ }
+ else {
+ let downloadPath = '';
+ try {
+ core.info(`Attempting to download ${this.nodeInfo.versionSpec}...`);
+ const versionInfo = yield this.getInfoFromManifest(this.nodeInfo.versionSpec, this.nodeInfo.stable, osArch, manifest);
+ if (versionInfo) {
+ core.info(`Acquiring ${versionInfo.resolvedVersion} - ${versionInfo.arch} from ${versionInfo.downloadUrl}`);
+ downloadPath = yield tc.downloadTool(versionInfo.downloadUrl, undefined, this.nodeInfo.auth);
+ if (downloadPath) {
+ toolPath = yield this.extractArchive(downloadPath, versionInfo);
+ }
+ }
+ else {
+ core.info('Not found in manifest. Falling back to download directly from Node');
+ }
+ }
+ catch (err) {
+ // Rate limit?
+ if (err instanceof tc.HTTPError &&
+ (err.httpStatusCode === 403 || err.httpStatusCode === 429)) {
+ core.info(`Received HTTP status code ${err.httpStatusCode}. This usually indicates the rate limit has been exceeded`);
+ }
+ else {
+ core.info(err.message);
+ }
+ core.debug(err.stack);
+ core.info('Falling back to download directly from Node');
+ }
+ if (!toolPath) {
+ const nodeJsVersions = yield this.getNodeJsVersions();
+ const versions = this.filterVersions(nodeJsVersions);
+ const evaluatedVersion = this.evaluateVersions(versions);
+ if (!evaluatedVersion) {
+ throw new Error(`Unable to find Node version '${this.nodeInfo.versionSpec}' for platform ${this.osPlat} and architecture ${this.nodeInfo.arch}.`);
+ }
+ const toolName = this.getNodejsDistInfo(evaluatedVersion);
+ toolPath = yield this.downloadNodejs(toolName);
+ }
+ }
+ if (this.osPlat != 'win32') {
+ toolPath = path_1.default.join(toolPath, 'bin');
+ }
+ core.addPath(toolPath);
+ });
+ }
+ evaluateVersions(versions) {
+ let version = '';
+ if (this.isLatestSyntax(this.nodeInfo.versionSpec)) {
+ core.info(`getting latest node version...`);
+ return versions[0];
+ }
+ version = super.evaluateVersions(versions);
+ return version;
+ }
+ getDistributionUrl() {
+ return `https://nodejs.org/dist`;
+ }
+ getManifest() {
+ core.debug('Getting manifest from actions/node-versions@main');
+ return tc.getManifestFromRepo('actions', 'node-versions', this.nodeInfo.auth, 'main');
+ }
+ resolveLtsAliasFromManifest(versionSpec, stable, manifest) {
+ var _a;
+ const alias = (_a = versionSpec.split('lts/')[1]) === null || _a === void 0 ? void 0 : _a.toLowerCase();
+ if (!alias) {
+ throw new Error(`Unable to parse LTS alias for Node version '${versionSpec}'`);
+ }
+ core.debug(`LTS alias '${alias}' for Node version '${versionSpec}'`);
+ // Supported formats are `lts/`, `lts/*`, and `lts/-n`. Where asterisk means highest possible LTS and -n means the nth-highest.
+ const n = Number(alias);
+ const aliases = Object.fromEntries(manifest
+ .filter(x => x.lts && x.stable === stable)
+ .map(x => [x.lts.toLowerCase(), x])
+ .reverse());
+ const numbered = Object.values(aliases);
+ const release = alias === '*'
+ ? numbered[numbered.length - 1]
+ : n < 0
+ ? numbered[numbered.length - 1 + n]
+ : aliases[alias];
+ if (!release) {
+ throw new Error(`Unable to find LTS release '${alias}' for Node version '${versionSpec}'.`);
+ }
+ core.debug(`Found LTS release '${release.version}' for Node version '${versionSpec}'`);
+ return release.version.split('.')[0];
+ }
+ resolveVersionFromManifest(versionSpec, stable, osArch, manifest) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ const info = yield this.getInfoFromManifest(versionSpec, stable, osArch, manifest);
+ return info === null || info === void 0 ? void 0 : info.resolvedVersion;
+ }
+ catch (err) {
+ core.info('Unable to resolve version from manifest...');
+ core.debug(err.message);
+ }
+ });
+ }
+ getInfoFromManifest(versionSpec, stable, osArch, manifest) {
+ return __awaiter(this, void 0, void 0, function* () {
+ let info = null;
+ if (!manifest) {
+ core.debug('No manifest cached');
+ manifest = yield this.getManifest();
+ }
+ const rel = yield tc.findFromManifest(versionSpec, stable, manifest, osArch);
+ if (rel && rel.files.length > 0) {
+ info = {};
+ info.resolvedVersion = rel.version;
+ info.arch = rel.files[0].arch;
+ info.downloadUrl = rel.files[0].download_url;
+ info.fileName = rel.files[0].filename;
+ }
+ return info;
+ });
+ }
+ isLtsAlias(versionSpec) {
+ return versionSpec.startsWith('lts/');
+ }
+ isLatestSyntax(versionSpec) {
+ return ['current', 'latest', 'node'].includes(versionSpec);
+ }
+}
+exports["default"] = OfficialBuilds;
/***/ }),
@@ -71958,21 +71886,21 @@ exports["default"] = OfficialBuilds;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const base_distribution_1 = __importDefault(__nccwpck_require__(7));
-class RcBuild extends base_distribution_1.default {
- constructor(nodeInfo) {
- super(nodeInfo);
- }
- getDistributionUrl() {
- return 'https://nodejs.org/download/rc';
- }
-}
-exports["default"] = RcBuild;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const base_distribution_1 = __importDefault(__nccwpck_require__(7));
+class RcBuild extends base_distribution_1.default {
+ constructor(nodeInfo) {
+ super(nodeInfo);
+ }
+ getDistributionUrl() {
+ return 'https://nodejs.org/download/rc';
+ }
+}
+exports["default"] = RcBuild;
/***/ }),
@@ -71981,22 +71909,22 @@ exports["default"] = RcBuild;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const base_distribution_prerelease_1 = __importDefault(__nccwpck_require__(957));
-class CanaryBuild extends base_distribution_prerelease_1.default {
- constructor(nodeInfo) {
- super(nodeInfo);
- this.distribution = 'v8-canary';
- }
- getDistributionUrl() {
- return 'https://nodejs.org/download/v8-canary';
- }
-}
-exports["default"] = CanaryBuild;
+
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const base_distribution_prerelease_1 = __importDefault(__nccwpck_require__(957));
+class CanaryBuild extends base_distribution_prerelease_1.default {
+ constructor(nodeInfo) {
+ super(nodeInfo);
+ this.distribution = 'v8-canary';
+ }
+ getDistributionUrl() {
+ return 'https://nodejs.org/download/v8-canary';
+ }
+}
+exports["default"] = CanaryBuild;
/***/ }),
@@ -72005,122 +71933,122 @@ exports["default"] = CanaryBuild;
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.run = void 0;
-const core = __importStar(__nccwpck_require__(2186));
-const fs_1 = __importDefault(__nccwpck_require__(7147));
-const os_1 = __importDefault(__nccwpck_require__(2037));
-const auth = __importStar(__nccwpck_require__(7573));
-const path = __importStar(__nccwpck_require__(1017));
-const cache_restore_1 = __nccwpck_require__(9517);
-const cache_utils_1 = __nccwpck_require__(1678);
-const installer_factory_1 = __nccwpck_require__(5617);
-const util_1 = __nccwpck_require__(2629);
-function run() {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- //
- // Version is optional. If supplied, install / use from the tool cache
- // If not supplied then task is still used to setup proxy, auth, etc...
- //
- const version = resolveVersionInput();
- let arch = core.getInput('architecture');
- const cache = core.getInput('cache');
- // if architecture supplied but node-version is not
- // if we don't throw a warning, the already installed x64 node will be used which is not probably what user meant.
- if (arch && !version) {
- core.warning('`architecture` is provided but `node-version` is missing. In this configuration, the version/architecture of Node will not be changed. To fix this, provide `architecture` in combination with `node-version`');
- }
- if (!arch) {
- arch = os_1.default.arch();
- }
- if (version) {
- const token = core.getInput('token');
- const auth = !token ? undefined : `token ${token}`;
- const stable = (core.getInput('stable') || 'true').toUpperCase() === 'TRUE';
- const checkLatest = (core.getInput('check-latest') || 'false').toUpperCase() === 'TRUE';
- const nodejsInfo = {
- versionSpec: version,
- checkLatest,
- auth,
- stable,
- arch
- };
- const nodeDistribution = installer_factory_1.getNodejsDistribution(nodejsInfo);
- yield nodeDistribution.setupNodeJs();
- }
- yield util_1.printEnvDetailsAndSetOutput();
- const registryUrl = core.getInput('registry-url');
- const alwaysAuth = core.getInput('always-auth');
- if (registryUrl) {
- auth.configAuthentication(registryUrl, alwaysAuth);
- }
- if (cache && cache_utils_1.isCacheFeatureAvailable()) {
- const cacheDependencyPath = core.getInput('cache-dependency-path');
- yield cache_restore_1.restoreCache(cache, cacheDependencyPath);
- }
- const matchersPath = path.join(__dirname, '../..', '.github');
- core.info(`##[add-matcher]${path.join(matchersPath, 'tsc.json')}`);
- core.info(`##[add-matcher]${path.join(matchersPath, 'eslint-stylish.json')}`);
- core.info(`##[add-matcher]${path.join(matchersPath, 'eslint-compact.json')}`);
- }
- catch (err) {
- core.setFailed(err.message);
- }
- });
-}
-exports.run = run;
-function resolveVersionInput() {
- let version = core.getInput('node-version');
- const versionFileInput = core.getInput('node-version-file');
- if (version && versionFileInput) {
- core.warning('Both node-version and node-version-file inputs are specified, only node-version will be used');
- }
- if (version) {
- return version;
- }
- if (versionFileInput) {
- const versionFilePath = path.join(process.env.GITHUB_WORKSPACE, versionFileInput);
- if (!fs_1.default.existsSync(versionFilePath)) {
- throw new Error(`The specified node version file at: ${versionFilePath} does not exist`);
- }
- version = util_1.parseNodeVersionFile(fs_1.default.readFileSync(versionFilePath, 'utf8'));
- core.info(`Resolved ${versionFileInput} as ${version}`);
- }
- return version;
-}
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.run = void 0;
+const core = __importStar(__nccwpck_require__(2186));
+const fs_1 = __importDefault(__nccwpck_require__(7147));
+const os_1 = __importDefault(__nccwpck_require__(2037));
+const auth = __importStar(__nccwpck_require__(7573));
+const path = __importStar(__nccwpck_require__(1017));
+const cache_restore_1 = __nccwpck_require__(9517);
+const cache_utils_1 = __nccwpck_require__(1678);
+const installer_factory_1 = __nccwpck_require__(5617);
+const util_1 = __nccwpck_require__(2629);
+function run() {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ //
+ // Version is optional. If supplied, install / use from the tool cache
+ // If not supplied then task is still used to setup proxy, auth, etc...
+ //
+ const version = resolveVersionInput();
+ let arch = core.getInput('architecture');
+ const cache = core.getInput('cache');
+ // if architecture supplied but node-version is not
+ // if we don't throw a warning, the already installed x64 node will be used which is not probably what user meant.
+ if (arch && !version) {
+ core.warning('`architecture` is provided but `node-version` is missing. In this configuration, the version/architecture of Node will not be changed. To fix this, provide `architecture` in combination with `node-version`');
+ }
+ if (!arch) {
+ arch = os_1.default.arch();
+ }
+ if (version) {
+ const token = core.getInput('token');
+ const auth = !token ? undefined : `token ${token}`;
+ const stable = (core.getInput('stable') || 'true').toUpperCase() === 'TRUE';
+ const checkLatest = (core.getInput('check-latest') || 'false').toUpperCase() === 'TRUE';
+ const nodejsInfo = {
+ versionSpec: version,
+ checkLatest,
+ auth,
+ stable,
+ arch
+ };
+ const nodeDistribution = installer_factory_1.getNodejsDistribution(nodejsInfo);
+ yield nodeDistribution.setupNodeJs();
+ }
+ yield util_1.printEnvDetailsAndSetOutput();
+ const registryUrl = core.getInput('registry-url');
+ const alwaysAuth = core.getInput('always-auth');
+ if (registryUrl) {
+ auth.configAuthentication(registryUrl, alwaysAuth);
+ }
+ if (cache && cache_utils_1.isCacheFeatureAvailable()) {
+ const cacheDependencyPath = core.getInput('cache-dependency-path');
+ yield cache_restore_1.restoreCache(cache, cacheDependencyPath);
+ }
+ const matchersPath = path.join(__dirname, '../..', '.github');
+ core.info(`##[add-matcher]${path.join(matchersPath, 'tsc.json')}`);
+ core.info(`##[add-matcher]${path.join(matchersPath, 'eslint-stylish.json')}`);
+ core.info(`##[add-matcher]${path.join(matchersPath, 'eslint-compact.json')}`);
+ }
+ catch (err) {
+ core.setFailed(err.message);
+ }
+ });
+}
+exports.run = run;
+function resolveVersionInput() {
+ let version = core.getInput('node-version');
+ const versionFileInput = core.getInput('node-version-file');
+ if (version && versionFileInput) {
+ core.warning('Both node-version and node-version-file inputs are specified, only node-version will be used');
+ }
+ if (version) {
+ return version;
+ }
+ if (versionFileInput) {
+ const versionFilePath = path.join(process.env.GITHUB_WORKSPACE, versionFileInput);
+ if (!fs_1.default.existsSync(versionFilePath)) {
+ throw new Error(`The specified node version file at: ${versionFilePath} does not exist`);
+ }
+ version = util_1.parseNodeVersionFile(fs_1.default.readFileSync(versionFilePath, 'utf8'));
+ core.info(`Resolved ${versionFileInput} as ${version}`);
+ }
+ return version;
+}
/***/ }),
@@ -72129,98 +72057,98 @@ function resolveVersionInput() {
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
"use strict";
-
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
- o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
- return new (P || (P = Promise))(function (resolve, reject) {
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
- step((generator = generator.apply(thisArg, _arguments || [])).next());
- });
-};
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-exports.printEnvDetailsAndSetOutput = exports.parseNodeVersionFile = void 0;
-const core = __importStar(__nccwpck_require__(2186));
-const exec = __importStar(__nccwpck_require__(1514));
-function parseNodeVersionFile(contents) {
- var _a, _b, _c;
- let nodeVersion;
- // Try parsing the file as an NPM `package.json` file.
- try {
- nodeVersion = (_a = JSON.parse(contents).volta) === null || _a === void 0 ? void 0 : _a.node;
- if (!nodeVersion)
- nodeVersion = (_b = JSON.parse(contents).engines) === null || _b === void 0 ? void 0 : _b.node;
- }
- catch (_d) {
- core.info('Node version file is not JSON file');
- }
- if (!nodeVersion) {
- const found = contents.match(/^(?:nodejs\s+)?v?(?[^\s]+)$/m);
- nodeVersion = (_c = found === null || found === void 0 ? void 0 : found.groups) === null || _c === void 0 ? void 0 : _c.version;
- }
- // In the case of an unknown format,
- // return as is and evaluate the version separately.
- if (!nodeVersion)
- nodeVersion = contents.trim();
- return nodeVersion;
-}
-exports.parseNodeVersionFile = parseNodeVersionFile;
-function printEnvDetailsAndSetOutput() {
- return __awaiter(this, void 0, void 0, function* () {
- core.startGroup('Environment details');
- const promises = ['node', 'npm', 'yarn'].map((tool) => __awaiter(this, void 0, void 0, function* () {
- const output = yield getToolVersion(tool, ['--version']);
- return { tool, output };
- }));
- const tools = yield Promise.all(promises);
- tools.forEach(({ tool, output }) => {
- if (tool === 'node') {
- core.setOutput(`${tool}-version`, output);
- }
- core.info(`${tool}: ${output}`);
- });
- core.endGroup();
- });
-}
-exports.printEnvDetailsAndSetOutput = printEnvDetailsAndSetOutput;
-function getToolVersion(tool, options) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- const { stdout, stderr, exitCode } = yield exec.getExecOutput(tool, options, {
- ignoreReturnCode: true,
- silent: true
- });
- if (exitCode > 0) {
- core.info(`[warning]${stderr}`);
- return '';
- }
- return stdout.trim();
- }
- catch (err) {
- return '';
- }
- });
-}
+
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+exports.printEnvDetailsAndSetOutput = exports.parseNodeVersionFile = void 0;
+const core = __importStar(__nccwpck_require__(2186));
+const exec = __importStar(__nccwpck_require__(1514));
+function parseNodeVersionFile(contents) {
+ var _a, _b, _c;
+ let nodeVersion;
+ // Try parsing the file as an NPM `package.json` file.
+ try {
+ nodeVersion = (_a = JSON.parse(contents).volta) === null || _a === void 0 ? void 0 : _a.node;
+ if (!nodeVersion)
+ nodeVersion = (_b = JSON.parse(contents).engines) === null || _b === void 0 ? void 0 : _b.node;
+ }
+ catch (_d) {
+ core.info('Node version file is not JSON file');
+ }
+ if (!nodeVersion) {
+ const found = contents.match(/^(?:nodejs\s+)?v?(?[^\s]+)$/m);
+ nodeVersion = (_c = found === null || found === void 0 ? void 0 : found.groups) === null || _c === void 0 ? void 0 : _c.version;
+ }
+ // In the case of an unknown format,
+ // return as is and evaluate the version separately.
+ if (!nodeVersion)
+ nodeVersion = contents.trim();
+ return nodeVersion;
+}
+exports.parseNodeVersionFile = parseNodeVersionFile;
+function printEnvDetailsAndSetOutput() {
+ return __awaiter(this, void 0, void 0, function* () {
+ core.startGroup('Environment details');
+ const promises = ['node', 'npm', 'yarn'].map((tool) => __awaiter(this, void 0, void 0, function* () {
+ const output = yield getToolVersion(tool, ['--version']);
+ return { tool, output };
+ }));
+ const tools = yield Promise.all(promises);
+ tools.forEach(({ tool, output }) => {
+ if (tool === 'node') {
+ core.setOutput(`${tool}-version`, output);
+ }
+ core.info(`${tool}: ${output}`);
+ });
+ core.endGroup();
+ });
+}
+exports.printEnvDetailsAndSetOutput = printEnvDetailsAndSetOutput;
+function getToolVersion(tool, options) {
+ return __awaiter(this, void 0, void 0, function* () {
+ try {
+ const { stdout, stderr, exitCode } = yield exec.getExecOutput(tool, options, {
+ ignoreReturnCode: true,
+ silent: true
+ });
+ if (exitCode > 0) {
+ core.info(`[warning]${stderr}`);
+ return '';
+ }
+ return stdout.trim();
+ }
+ catch (err) {
+ return '';
+ }
+ });
+}
/***/ }),
@@ -72468,10 +72396,10 @@ var __webpack_exports__ = {};
(() => {
"use strict";
var exports = __webpack_exports__;
-
-Object.defineProperty(exports, "__esModule", ({ value: true }));
-const main_1 = __nccwpck_require__(399);
-main_1.run();
+
+Object.defineProperty(exports, "__esModule", ({ value: true }));
+const main_1 = __nccwpck_require__(399);
+main_1.run();
})();
diff --git a/package-lock.json b/package-lock.json
index 35276c330..14c9e8aa2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -37,17 +37,18 @@
}
},
"node_modules/@actions/cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.0.4.tgz",
- "integrity": "sha512-9RwVL8/ISJoYWFNH1wR/C26E+M3HDkGPWmbFJMMCKwTkjbNZJreMT4XaR/EB1bheIvN4PREQxEQQVJ18IPnf/Q==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.2.1.tgz",
+ "integrity": "sha512-QurbMiY//02+0kN1adJkMHN44RcZ5kAXfhSnKUZmtSmhMTNqLitGArG1xOkt93NNyByTlLGAc5wIOF/dZ2ENOQ==",
"dependencies": {
- "@actions/core": "^1.2.6",
+ "@actions/core": "^1.10.0",
"@actions/exec": "^1.0.1",
"@actions/glob": "^0.1.0",
"@actions/http-client": "^2.0.1",
"@actions/io": "^1.0.1",
+ "@azure/abort-controller": "^1.1.0",
"@azure/ms-rest-js": "^2.6.0",
- "@azure/storage-blob": "^12.8.0",
+ "@azure/storage-blob": "^12.13.0",
"semver": "^6.1.0",
"uuid": "^3.3.3"
}
@@ -156,14 +157,14 @@
}
},
"node_modules/@azure/abort-controller": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.0.4.tgz",
- "integrity": "sha512-lNUmDRVGpanCsiUN3NWxFTdwmdFI53xwhkTFfHDGTYk46ca7Ind3nanJc+U6Zj9Tv+9nTCWRBscWEW1DyKOpTw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz",
+ "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==",
"dependencies": {
- "tslib": "^2.0.0"
+ "tslib": "^2.2.0"
},
"engines": {
- "node": ">=8.0.0"
+ "node": ">=12.0.0"
}
},
"node_modules/@azure/abort-controller/node_modules/tslib": {
@@ -6361,17 +6362,18 @@
},
"dependencies": {
"@actions/cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.0.4.tgz",
- "integrity": "sha512-9RwVL8/ISJoYWFNH1wR/C26E+M3HDkGPWmbFJMMCKwTkjbNZJreMT4XaR/EB1bheIvN4PREQxEQQVJ18IPnf/Q==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@actions/cache/-/cache-3.2.1.tgz",
+ "integrity": "sha512-QurbMiY//02+0kN1adJkMHN44RcZ5kAXfhSnKUZmtSmhMTNqLitGArG1xOkt93NNyByTlLGAc5wIOF/dZ2ENOQ==",
"requires": {
- "@actions/core": "^1.2.6",
+ "@actions/core": "^1.10.0",
"@actions/exec": "^1.0.1",
"@actions/glob": "^0.1.0",
"@actions/http-client": "^2.0.1",
"@actions/io": "^1.0.1",
+ "@azure/abort-controller": "^1.1.0",
"@azure/ms-rest-js": "^2.6.0",
- "@azure/storage-blob": "^12.8.0",
+ "@azure/storage-blob": "^12.13.0",
"semver": "^6.1.0",
"uuid": "^3.3.3"
},
@@ -6477,11 +6479,11 @@
}
},
"@azure/abort-controller": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.0.4.tgz",
- "integrity": "sha512-lNUmDRVGpanCsiUN3NWxFTdwmdFI53xwhkTFfHDGTYk46ca7Ind3nanJc+U6Zj9Tv+9nTCWRBscWEW1DyKOpTw==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz",
+ "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==",
"requires": {
- "tslib": "^2.0.0"
+ "tslib": "^2.2.0"
},
"dependencies": {
"tslib": {