mirror of
https://code.forgejo.org/actions/cache.git
synced 2024-11-05 10:12:55 +01:00
Use DownloadCacheFile for blob downloads
This commit is contained in:
parent
0968f23612
commit
cf539bd9ee
4 changed files with 496 additions and 8 deletions
126
dist/restore-only/index.js
vendored
126
dist/restore-only/index.js
vendored
|
@ -27687,6 +27687,7 @@ const cacheHttpClient = __importStar(__nccwpck_require__(42370));
|
||||||
const cacheTwirpClient = __importStar(__nccwpck_require__(95451));
|
const cacheTwirpClient = __importStar(__nccwpck_require__(95451));
|
||||||
const tar_1 = __nccwpck_require__(49099);
|
const tar_1 = __nccwpck_require__(49099);
|
||||||
const upload_cache_1 = __nccwpck_require__(47107);
|
const upload_cache_1 = __nccwpck_require__(47107);
|
||||||
|
const download_cache_1 = __nccwpck_require__(9049);
|
||||||
const util_1 = __nccwpck_require__(49196);
|
const util_1 = __nccwpck_require__(49196);
|
||||||
const constants_1 = __nccwpck_require__(74010);
|
const constants_1 = __nccwpck_require__(74010);
|
||||||
class ValidationError extends Error {
|
class ValidationError extends Error {
|
||||||
|
@ -27882,8 +27883,8 @@ function restoreCachev2(paths, primaryKey, restoreKeys, options, enableCrossOsAr
|
||||||
core.debug(`Starting download of artifact to: ${archivePath}`);
|
core.debug(`Starting download of artifact to: ${archivePath}`);
|
||||||
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
core.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
|
core.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
|
||||||
// Download the cache from the cache entry
|
// Attempt to download the cache file from ABS
|
||||||
yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
|
yield (0, download_cache_1.DownloadCacheFile)(response.signedDownloadUrl, archivePath);
|
||||||
yield (0, tar_1.extractTar)(archivePath, compressionMethod);
|
yield (0, tar_1.extractTar)(archivePath, compressionMethod);
|
||||||
core.info('Cache restored successfully');
|
core.info('Cache restored successfully');
|
||||||
return request.key;
|
return request.key;
|
||||||
|
@ -27899,6 +27900,7 @@ function restoreCachev2(paths, primaryKey, restoreKeys, options, enableCrossOsAr
|
||||||
core.debug(`Failed to delete archive: ${error}`);
|
core.debug(`Failed to delete archive: ${error}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return undefined;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -31325,6 +31327,126 @@ exports.createTar = createTar;
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 9049:
|
||||||
|
/***/ (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;
|
||||||
|
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) {
|
||||||
|
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.DownloadCacheFile = void 0;
|
||||||
|
const core = __importStar(__nccwpck_require__(74850));
|
||||||
|
// import * as httpClient from '@actions/http-client'
|
||||||
|
// import unzip from 'unzip-stream'
|
||||||
|
const storage_blob_1 = __nccwpck_require__(33864);
|
||||||
|
// const packageJson = require('../../../package.json')
|
||||||
|
function DownloadCacheFile(signedUploadURL, archivePath) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const downloadOptions = {
|
||||||
|
maxRetryRequests: 5,
|
||||||
|
};
|
||||||
|
// Specify data transfer options
|
||||||
|
const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
|
||||||
|
const blockBlobClient = blobClient.getBlockBlobClient();
|
||||||
|
core.debug(`BlobClient: ${JSON.stringify(blobClient)}`);
|
||||||
|
core.debug(`blockBlobClient: ${JSON.stringify(blockBlobClient)}`);
|
||||||
|
return blockBlobClient.downloadToFile(archivePath, 0, undefined, downloadOptions);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.DownloadCacheFile = DownloadCacheFile;
|
||||||
|
// export async function StreamExtract(url: string, directory: string): Promise<void> {
|
||||||
|
// let retryCount = 0
|
||||||
|
// while (retryCount < 5) {
|
||||||
|
// try {
|
||||||
|
// await streamExtractExternal(url, directory)
|
||||||
|
// return
|
||||||
|
// } catch (error) {
|
||||||
|
// retryCount++
|
||||||
|
// core.info(
|
||||||
|
// `Failed to download cache after ${retryCount} retries due to ${error.message}. Retrying in 5 seconds...`
|
||||||
|
// )
|
||||||
|
// // wait 5 seconds before retrying
|
||||||
|
// await new Promise(resolve => setTimeout(resolve, 5000))
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// throw new Error(`Cache download failed after ${retryCount} retries.`)
|
||||||
|
// }
|
||||||
|
// export async function streamExtractExternal(
|
||||||
|
// url: string,
|
||||||
|
// directory: string
|
||||||
|
// ): Promise<void> {
|
||||||
|
// const client = new httpClient.HttpClient(`@actions/cache-${packageJson.version}`)
|
||||||
|
// const response = await client.get(url)
|
||||||
|
// if (response.message.statusCode !== 200) {
|
||||||
|
// core.info(`Failed to download cache. HTTP status code: ${response.message.statusCode}`)
|
||||||
|
// throw new Error(
|
||||||
|
// `Unexpected HTTP response from blob storage: ${response.message.statusCode} ${response.message.statusMessage}`
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// const timeout = 30 * 1000 // 30 seconds
|
||||||
|
// return new Promise((resolve, reject) => {
|
||||||
|
// const timerFn = (): void => {
|
||||||
|
// response.message.destroy(
|
||||||
|
// new Error(`Blob storage chunk did not respond in ${timeout}ms`)
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// const timer = setTimeout(timerFn, timeout)
|
||||||
|
// response.message
|
||||||
|
// .on('data', () => {
|
||||||
|
// timer.refresh()
|
||||||
|
// })
|
||||||
|
// .on('error', (error: Error) => {
|
||||||
|
// core.info(
|
||||||
|
// `response.message: Cache download failed: ${error.message}`
|
||||||
|
// )
|
||||||
|
// clearTimeout(timer)
|
||||||
|
// reject(error)
|
||||||
|
// })
|
||||||
|
// .pipe(unzip.Extract({ path: directory }))
|
||||||
|
// .on('close', () => {
|
||||||
|
// clearTimeout(timer)
|
||||||
|
// resolve()
|
||||||
|
// })
|
||||||
|
// .on('error', (error: Error) => {
|
||||||
|
// reject(error)
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//# sourceMappingURL=download-cache.js.map
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
/***/ 47107:
|
/***/ 47107:
|
||||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||||
|
|
||||||
|
|
126
dist/restore/index.js
vendored
126
dist/restore/index.js
vendored
|
@ -27687,6 +27687,7 @@ const cacheHttpClient = __importStar(__nccwpck_require__(42370));
|
||||||
const cacheTwirpClient = __importStar(__nccwpck_require__(95451));
|
const cacheTwirpClient = __importStar(__nccwpck_require__(95451));
|
||||||
const tar_1 = __nccwpck_require__(49099);
|
const tar_1 = __nccwpck_require__(49099);
|
||||||
const upload_cache_1 = __nccwpck_require__(47107);
|
const upload_cache_1 = __nccwpck_require__(47107);
|
||||||
|
const download_cache_1 = __nccwpck_require__(9049);
|
||||||
const util_1 = __nccwpck_require__(49196);
|
const util_1 = __nccwpck_require__(49196);
|
||||||
const constants_1 = __nccwpck_require__(74010);
|
const constants_1 = __nccwpck_require__(74010);
|
||||||
class ValidationError extends Error {
|
class ValidationError extends Error {
|
||||||
|
@ -27882,8 +27883,8 @@ function restoreCachev2(paths, primaryKey, restoreKeys, options, enableCrossOsAr
|
||||||
core.debug(`Starting download of artifact to: ${archivePath}`);
|
core.debug(`Starting download of artifact to: ${archivePath}`);
|
||||||
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
core.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
|
core.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
|
||||||
// Download the cache from the cache entry
|
// Attempt to download the cache file from ABS
|
||||||
yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
|
yield (0, download_cache_1.DownloadCacheFile)(response.signedDownloadUrl, archivePath);
|
||||||
yield (0, tar_1.extractTar)(archivePath, compressionMethod);
|
yield (0, tar_1.extractTar)(archivePath, compressionMethod);
|
||||||
core.info('Cache restored successfully');
|
core.info('Cache restored successfully');
|
||||||
return request.key;
|
return request.key;
|
||||||
|
@ -27899,6 +27900,7 @@ function restoreCachev2(paths, primaryKey, restoreKeys, options, enableCrossOsAr
|
||||||
core.debug(`Failed to delete archive: ${error}`);
|
core.debug(`Failed to delete archive: ${error}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return undefined;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -31325,6 +31327,126 @@ exports.createTar = createTar;
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 9049:
|
||||||
|
/***/ (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;
|
||||||
|
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) {
|
||||||
|
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.DownloadCacheFile = void 0;
|
||||||
|
const core = __importStar(__nccwpck_require__(74850));
|
||||||
|
// import * as httpClient from '@actions/http-client'
|
||||||
|
// import unzip from 'unzip-stream'
|
||||||
|
const storage_blob_1 = __nccwpck_require__(33864);
|
||||||
|
// const packageJson = require('../../../package.json')
|
||||||
|
function DownloadCacheFile(signedUploadURL, archivePath) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const downloadOptions = {
|
||||||
|
maxRetryRequests: 5,
|
||||||
|
};
|
||||||
|
// Specify data transfer options
|
||||||
|
const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
|
||||||
|
const blockBlobClient = blobClient.getBlockBlobClient();
|
||||||
|
core.debug(`BlobClient: ${JSON.stringify(blobClient)}`);
|
||||||
|
core.debug(`blockBlobClient: ${JSON.stringify(blockBlobClient)}`);
|
||||||
|
return blockBlobClient.downloadToFile(archivePath, 0, undefined, downloadOptions);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.DownloadCacheFile = DownloadCacheFile;
|
||||||
|
// export async function StreamExtract(url: string, directory: string): Promise<void> {
|
||||||
|
// let retryCount = 0
|
||||||
|
// while (retryCount < 5) {
|
||||||
|
// try {
|
||||||
|
// await streamExtractExternal(url, directory)
|
||||||
|
// return
|
||||||
|
// } catch (error) {
|
||||||
|
// retryCount++
|
||||||
|
// core.info(
|
||||||
|
// `Failed to download cache after ${retryCount} retries due to ${error.message}. Retrying in 5 seconds...`
|
||||||
|
// )
|
||||||
|
// // wait 5 seconds before retrying
|
||||||
|
// await new Promise(resolve => setTimeout(resolve, 5000))
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// throw new Error(`Cache download failed after ${retryCount} retries.`)
|
||||||
|
// }
|
||||||
|
// export async function streamExtractExternal(
|
||||||
|
// url: string,
|
||||||
|
// directory: string
|
||||||
|
// ): Promise<void> {
|
||||||
|
// const client = new httpClient.HttpClient(`@actions/cache-${packageJson.version}`)
|
||||||
|
// const response = await client.get(url)
|
||||||
|
// if (response.message.statusCode !== 200) {
|
||||||
|
// core.info(`Failed to download cache. HTTP status code: ${response.message.statusCode}`)
|
||||||
|
// throw new Error(
|
||||||
|
// `Unexpected HTTP response from blob storage: ${response.message.statusCode} ${response.message.statusMessage}`
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// const timeout = 30 * 1000 // 30 seconds
|
||||||
|
// return new Promise((resolve, reject) => {
|
||||||
|
// const timerFn = (): void => {
|
||||||
|
// response.message.destroy(
|
||||||
|
// new Error(`Blob storage chunk did not respond in ${timeout}ms`)
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// const timer = setTimeout(timerFn, timeout)
|
||||||
|
// response.message
|
||||||
|
// .on('data', () => {
|
||||||
|
// timer.refresh()
|
||||||
|
// })
|
||||||
|
// .on('error', (error: Error) => {
|
||||||
|
// core.info(
|
||||||
|
// `response.message: Cache download failed: ${error.message}`
|
||||||
|
// )
|
||||||
|
// clearTimeout(timer)
|
||||||
|
// reject(error)
|
||||||
|
// })
|
||||||
|
// .pipe(unzip.Extract({ path: directory }))
|
||||||
|
// .on('close', () => {
|
||||||
|
// clearTimeout(timer)
|
||||||
|
// resolve()
|
||||||
|
// })
|
||||||
|
// .on('error', (error: Error) => {
|
||||||
|
// reject(error)
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//# sourceMappingURL=download-cache.js.map
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
/***/ 47107:
|
/***/ 47107:
|
||||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||||
|
|
||||||
|
|
126
dist/save-only/index.js
vendored
126
dist/save-only/index.js
vendored
|
@ -27687,6 +27687,7 @@ const cacheHttpClient = __importStar(__nccwpck_require__(42370));
|
||||||
const cacheTwirpClient = __importStar(__nccwpck_require__(95451));
|
const cacheTwirpClient = __importStar(__nccwpck_require__(95451));
|
||||||
const tar_1 = __nccwpck_require__(49099);
|
const tar_1 = __nccwpck_require__(49099);
|
||||||
const upload_cache_1 = __nccwpck_require__(47107);
|
const upload_cache_1 = __nccwpck_require__(47107);
|
||||||
|
const download_cache_1 = __nccwpck_require__(9049);
|
||||||
const util_1 = __nccwpck_require__(49196);
|
const util_1 = __nccwpck_require__(49196);
|
||||||
const constants_1 = __nccwpck_require__(74010);
|
const constants_1 = __nccwpck_require__(74010);
|
||||||
class ValidationError extends Error {
|
class ValidationError extends Error {
|
||||||
|
@ -27882,8 +27883,8 @@ function restoreCachev2(paths, primaryKey, restoreKeys, options, enableCrossOsAr
|
||||||
core.debug(`Starting download of artifact to: ${archivePath}`);
|
core.debug(`Starting download of artifact to: ${archivePath}`);
|
||||||
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
core.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
|
core.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
|
||||||
// Download the cache from the cache entry
|
// Attempt to download the cache file from ABS
|
||||||
yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
|
yield (0, download_cache_1.DownloadCacheFile)(response.signedDownloadUrl, archivePath);
|
||||||
yield (0, tar_1.extractTar)(archivePath, compressionMethod);
|
yield (0, tar_1.extractTar)(archivePath, compressionMethod);
|
||||||
core.info('Cache restored successfully');
|
core.info('Cache restored successfully');
|
||||||
return request.key;
|
return request.key;
|
||||||
|
@ -27899,6 +27900,7 @@ function restoreCachev2(paths, primaryKey, restoreKeys, options, enableCrossOsAr
|
||||||
core.debug(`Failed to delete archive: ${error}`);
|
core.debug(`Failed to delete archive: ${error}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return undefined;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -31325,6 +31327,126 @@ exports.createTar = createTar;
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 9049:
|
||||||
|
/***/ (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;
|
||||||
|
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) {
|
||||||
|
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.DownloadCacheFile = void 0;
|
||||||
|
const core = __importStar(__nccwpck_require__(74850));
|
||||||
|
// import * as httpClient from '@actions/http-client'
|
||||||
|
// import unzip from 'unzip-stream'
|
||||||
|
const storage_blob_1 = __nccwpck_require__(33864);
|
||||||
|
// const packageJson = require('../../../package.json')
|
||||||
|
function DownloadCacheFile(signedUploadURL, archivePath) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const downloadOptions = {
|
||||||
|
maxRetryRequests: 5,
|
||||||
|
};
|
||||||
|
// Specify data transfer options
|
||||||
|
const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
|
||||||
|
const blockBlobClient = blobClient.getBlockBlobClient();
|
||||||
|
core.debug(`BlobClient: ${JSON.stringify(blobClient)}`);
|
||||||
|
core.debug(`blockBlobClient: ${JSON.stringify(blockBlobClient)}`);
|
||||||
|
return blockBlobClient.downloadToFile(archivePath, 0, undefined, downloadOptions);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.DownloadCacheFile = DownloadCacheFile;
|
||||||
|
// export async function StreamExtract(url: string, directory: string): Promise<void> {
|
||||||
|
// let retryCount = 0
|
||||||
|
// while (retryCount < 5) {
|
||||||
|
// try {
|
||||||
|
// await streamExtractExternal(url, directory)
|
||||||
|
// return
|
||||||
|
// } catch (error) {
|
||||||
|
// retryCount++
|
||||||
|
// core.info(
|
||||||
|
// `Failed to download cache after ${retryCount} retries due to ${error.message}. Retrying in 5 seconds...`
|
||||||
|
// )
|
||||||
|
// // wait 5 seconds before retrying
|
||||||
|
// await new Promise(resolve => setTimeout(resolve, 5000))
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// throw new Error(`Cache download failed after ${retryCount} retries.`)
|
||||||
|
// }
|
||||||
|
// export async function streamExtractExternal(
|
||||||
|
// url: string,
|
||||||
|
// directory: string
|
||||||
|
// ): Promise<void> {
|
||||||
|
// const client = new httpClient.HttpClient(`@actions/cache-${packageJson.version}`)
|
||||||
|
// const response = await client.get(url)
|
||||||
|
// if (response.message.statusCode !== 200) {
|
||||||
|
// core.info(`Failed to download cache. HTTP status code: ${response.message.statusCode}`)
|
||||||
|
// throw new Error(
|
||||||
|
// `Unexpected HTTP response from blob storage: ${response.message.statusCode} ${response.message.statusMessage}`
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// const timeout = 30 * 1000 // 30 seconds
|
||||||
|
// return new Promise((resolve, reject) => {
|
||||||
|
// const timerFn = (): void => {
|
||||||
|
// response.message.destroy(
|
||||||
|
// new Error(`Blob storage chunk did not respond in ${timeout}ms`)
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// const timer = setTimeout(timerFn, timeout)
|
||||||
|
// response.message
|
||||||
|
// .on('data', () => {
|
||||||
|
// timer.refresh()
|
||||||
|
// })
|
||||||
|
// .on('error', (error: Error) => {
|
||||||
|
// core.info(
|
||||||
|
// `response.message: Cache download failed: ${error.message}`
|
||||||
|
// )
|
||||||
|
// clearTimeout(timer)
|
||||||
|
// reject(error)
|
||||||
|
// })
|
||||||
|
// .pipe(unzip.Extract({ path: directory }))
|
||||||
|
// .on('close', () => {
|
||||||
|
// clearTimeout(timer)
|
||||||
|
// resolve()
|
||||||
|
// })
|
||||||
|
// .on('error', (error: Error) => {
|
||||||
|
// reject(error)
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//# sourceMappingURL=download-cache.js.map
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
/***/ 47107:
|
/***/ 47107:
|
||||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||||
|
|
||||||
|
|
126
dist/save/index.js
vendored
126
dist/save/index.js
vendored
|
@ -27687,6 +27687,7 @@ const cacheHttpClient = __importStar(__nccwpck_require__(42370));
|
||||||
const cacheTwirpClient = __importStar(__nccwpck_require__(95451));
|
const cacheTwirpClient = __importStar(__nccwpck_require__(95451));
|
||||||
const tar_1 = __nccwpck_require__(49099);
|
const tar_1 = __nccwpck_require__(49099);
|
||||||
const upload_cache_1 = __nccwpck_require__(47107);
|
const upload_cache_1 = __nccwpck_require__(47107);
|
||||||
|
const download_cache_1 = __nccwpck_require__(9049);
|
||||||
const util_1 = __nccwpck_require__(49196);
|
const util_1 = __nccwpck_require__(49196);
|
||||||
const constants_1 = __nccwpck_require__(74010);
|
const constants_1 = __nccwpck_require__(74010);
|
||||||
class ValidationError extends Error {
|
class ValidationError extends Error {
|
||||||
|
@ -27882,8 +27883,8 @@ function restoreCachev2(paths, primaryKey, restoreKeys, options, enableCrossOsAr
|
||||||
core.debug(`Starting download of artifact to: ${archivePath}`);
|
core.debug(`Starting download of artifact to: ${archivePath}`);
|
||||||
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
core.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
|
core.info(`Cache Size: ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B)`);
|
||||||
// Download the cache from the cache entry
|
// Attempt to download the cache file from ABS
|
||||||
yield cacheHttpClient.downloadCache(response.signedDownloadUrl, archivePath, options);
|
yield (0, download_cache_1.DownloadCacheFile)(response.signedDownloadUrl, archivePath);
|
||||||
yield (0, tar_1.extractTar)(archivePath, compressionMethod);
|
yield (0, tar_1.extractTar)(archivePath, compressionMethod);
|
||||||
core.info('Cache restored successfully');
|
core.info('Cache restored successfully');
|
||||||
return request.key;
|
return request.key;
|
||||||
|
@ -27899,6 +27900,7 @@ function restoreCachev2(paths, primaryKey, restoreKeys, options, enableCrossOsAr
|
||||||
core.debug(`Failed to delete archive: ${error}`);
|
core.debug(`Failed to delete archive: ${error}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return undefined;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -31325,6 +31327,126 @@ exports.createTar = createTar;
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|
||||||
|
/***/ 9049:
|
||||||
|
/***/ (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;
|
||||||
|
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) {
|
||||||
|
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.DownloadCacheFile = void 0;
|
||||||
|
const core = __importStar(__nccwpck_require__(74850));
|
||||||
|
// import * as httpClient from '@actions/http-client'
|
||||||
|
// import unzip from 'unzip-stream'
|
||||||
|
const storage_blob_1 = __nccwpck_require__(33864);
|
||||||
|
// const packageJson = require('../../../package.json')
|
||||||
|
function DownloadCacheFile(signedUploadURL, archivePath) {
|
||||||
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
const downloadOptions = {
|
||||||
|
maxRetryRequests: 5,
|
||||||
|
};
|
||||||
|
// Specify data transfer options
|
||||||
|
const blobClient = new storage_blob_1.BlobClient(signedUploadURL);
|
||||||
|
const blockBlobClient = blobClient.getBlockBlobClient();
|
||||||
|
core.debug(`BlobClient: ${JSON.stringify(blobClient)}`);
|
||||||
|
core.debug(`blockBlobClient: ${JSON.stringify(blockBlobClient)}`);
|
||||||
|
return blockBlobClient.downloadToFile(archivePath, 0, undefined, downloadOptions);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
exports.DownloadCacheFile = DownloadCacheFile;
|
||||||
|
// export async function StreamExtract(url: string, directory: string): Promise<void> {
|
||||||
|
// let retryCount = 0
|
||||||
|
// while (retryCount < 5) {
|
||||||
|
// try {
|
||||||
|
// await streamExtractExternal(url, directory)
|
||||||
|
// return
|
||||||
|
// } catch (error) {
|
||||||
|
// retryCount++
|
||||||
|
// core.info(
|
||||||
|
// `Failed to download cache after ${retryCount} retries due to ${error.message}. Retrying in 5 seconds...`
|
||||||
|
// )
|
||||||
|
// // wait 5 seconds before retrying
|
||||||
|
// await new Promise(resolve => setTimeout(resolve, 5000))
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// throw new Error(`Cache download failed after ${retryCount} retries.`)
|
||||||
|
// }
|
||||||
|
// export async function streamExtractExternal(
|
||||||
|
// url: string,
|
||||||
|
// directory: string
|
||||||
|
// ): Promise<void> {
|
||||||
|
// const client = new httpClient.HttpClient(`@actions/cache-${packageJson.version}`)
|
||||||
|
// const response = await client.get(url)
|
||||||
|
// if (response.message.statusCode !== 200) {
|
||||||
|
// core.info(`Failed to download cache. HTTP status code: ${response.message.statusCode}`)
|
||||||
|
// throw new Error(
|
||||||
|
// `Unexpected HTTP response from blob storage: ${response.message.statusCode} ${response.message.statusMessage}`
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// const timeout = 30 * 1000 // 30 seconds
|
||||||
|
// return new Promise((resolve, reject) => {
|
||||||
|
// const timerFn = (): void => {
|
||||||
|
// response.message.destroy(
|
||||||
|
// new Error(`Blob storage chunk did not respond in ${timeout}ms`)
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// const timer = setTimeout(timerFn, timeout)
|
||||||
|
// response.message
|
||||||
|
// .on('data', () => {
|
||||||
|
// timer.refresh()
|
||||||
|
// })
|
||||||
|
// .on('error', (error: Error) => {
|
||||||
|
// core.info(
|
||||||
|
// `response.message: Cache download failed: ${error.message}`
|
||||||
|
// )
|
||||||
|
// clearTimeout(timer)
|
||||||
|
// reject(error)
|
||||||
|
// })
|
||||||
|
// .pipe(unzip.Extract({ path: directory }))
|
||||||
|
// .on('close', () => {
|
||||||
|
// clearTimeout(timer)
|
||||||
|
// resolve()
|
||||||
|
// })
|
||||||
|
// .on('error', (error: Error) => {
|
||||||
|
// reject(error)
|
||||||
|
// })
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
//# sourceMappingURL=download-cache.js.map
|
||||||
|
|
||||||
|
/***/ }),
|
||||||
|
|
||||||
/***/ 47107:
|
/***/ 47107:
|
||||||
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue