mirror of
https://github.com/actions/setup-python.git
synced 2024-11-25 01:38:56 +00:00
Update index.js
This commit is contained in:
parent
87499e5a94
commit
8808ccdf05
2 changed files with 86 additions and 48 deletions
67
dist/cache-save/index.js
vendored
67
dist/cache-save/index.js
vendored
|
@ -1041,10 +1041,10 @@ function createTempDirectory() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.createTempDirectory = createTempDirectory;
|
exports.createTempDirectory = createTempDirectory;
|
||||||
function getArchiveFileSizeIsBytes(filePath) {
|
function getArchiveFileSizeInBytes(filePath) {
|
||||||
return fs.statSync(filePath).size;
|
return fs.statSync(filePath).size;
|
||||||
}
|
}
|
||||||
exports.getArchiveFileSizeIsBytes = getArchiveFileSizeIsBytes;
|
exports.getArchiveFileSizeInBytes = getArchiveFileSizeInBytes;
|
||||||
function resolvePaths(patterns) {
|
function resolvePaths(patterns) {
|
||||||
var e_1, _a;
|
var e_1, _a;
|
||||||
var _b;
|
var _b;
|
||||||
|
@ -3852,7 +3852,7 @@ function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
|
||||||
function uploadFile(httpClient, cacheId, archivePath, options) {
|
function uploadFile(httpClient, cacheId, archivePath, options) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
// Upload Chunks
|
// Upload Chunks
|
||||||
const fileSize = fs.statSync(archivePath).size;
|
const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
|
const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
|
||||||
const fd = fs.openSync(archivePath, 'r');
|
const fd = fs.openSync(archivePath, 'r');
|
||||||
const uploadOptions = options_1.getUploadOptions(options);
|
const uploadOptions = options_1.getUploadOptions(options);
|
||||||
|
@ -3902,7 +3902,7 @@ function saveCache(cacheId, archivePath, options) {
|
||||||
yield uploadFile(httpClient, cacheId, archivePath, options);
|
yield uploadFile(httpClient, cacheId, archivePath, options);
|
||||||
// Commit Cache
|
// Commit Cache
|
||||||
core.debug('Commiting cache');
|
core.debug('Commiting cache');
|
||||||
const cacheSize = utils.getArchiveFileSizeIsBytes(archivePath);
|
const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
core.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
|
core.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
|
||||||
const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
|
const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
|
||||||
if (!requestUtils_1.isSuccessStatusCode(commitCacheResponse.statusCode)) {
|
if (!requestUtils_1.isSuccessStatusCode(commitCacheResponse.statusCode)) {
|
||||||
|
@ -5877,7 +5877,7 @@ function downloadCacheHttpClient(archiveLocation, archivePath) {
|
||||||
const contentLengthHeader = downloadResponse.message.headers['content-length'];
|
const contentLengthHeader = downloadResponse.message.headers['content-length'];
|
||||||
if (contentLengthHeader) {
|
if (contentLengthHeader) {
|
||||||
const expectedLength = parseInt(contentLengthHeader);
|
const expectedLength = parseInt(contentLengthHeader);
|
||||||
const actualLength = utils.getArchiveFileSizeIsBytes(archivePath);
|
const actualLength = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
if (actualLength !== expectedLength) {
|
if (actualLength !== expectedLength) {
|
||||||
throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
|
throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
|
||||||
}
|
}
|
||||||
|
@ -34322,7 +34322,7 @@ Object.defineProperty(Response.prototype, Symbol.toStringTag, {
|
||||||
});
|
});
|
||||||
|
|
||||||
const INTERNALS$2 = Symbol('Request internals');
|
const INTERNALS$2 = Symbol('Request internals');
|
||||||
const URL = whatwgUrl.URL;
|
const URL = Url.URL || whatwgUrl.URL;
|
||||||
|
|
||||||
// fix an issue where "format", "parse" aren't a named export for node <10
|
// fix an issue where "format", "parse" aren't a named export for node <10
|
||||||
const parse_url = Url.parse;
|
const parse_url = Url.parse;
|
||||||
|
@ -41451,7 +41451,7 @@ function restoreCache(paths, primaryKey, restoreKeys, options) {
|
||||||
if (core.isDebug()) {
|
if (core.isDebug()) {
|
||||||
yield tar_1.listTar(archivePath, compressionMethod);
|
yield tar_1.listTar(archivePath, compressionMethod);
|
||||||
}
|
}
|
||||||
const archiveFileSize = utils.getArchiveFileSizeIsBytes(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)`);
|
||||||
yield tar_1.extractTar(archivePath, compressionMethod);
|
yield tar_1.extractTar(archivePath, compressionMethod);
|
||||||
core.info('Cache restored successfully');
|
core.info('Cache restored successfully');
|
||||||
|
@ -41496,18 +41496,29 @@ function saveCache(paths, key, options) {
|
||||||
const archiveFolder = yield utils.createTempDirectory();
|
const archiveFolder = yield utils.createTempDirectory();
|
||||||
const archivePath = path.join(archiveFolder, utils.getCacheFileName(compressionMethod));
|
const archivePath = path.join(archiveFolder, utils.getCacheFileName(compressionMethod));
|
||||||
core.debug(`Archive Path: ${archivePath}`);
|
core.debug(`Archive Path: ${archivePath}`);
|
||||||
yield tar_1.createTar(archiveFolder, cachePaths, compressionMethod);
|
try {
|
||||||
if (core.isDebug()) {
|
yield tar_1.createTar(archiveFolder, cachePaths, compressionMethod);
|
||||||
yield tar_1.listTar(archivePath, compressionMethod);
|
if (core.isDebug()) {
|
||||||
|
yield tar_1.listTar(archivePath, compressionMethod);
|
||||||
|
}
|
||||||
|
const fileSizeLimit = 10 * 1024 * 1024 * 1024; // 10GB per repo limit
|
||||||
|
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
|
core.debug(`File Size: ${archiveFileSize}`);
|
||||||
|
if (archiveFileSize > fileSizeLimit) {
|
||||||
|
throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`);
|
||||||
|
}
|
||||||
|
core.debug(`Saving Cache (ID: ${cacheId})`);
|
||||||
|
yield cacheHttpClient.saveCache(cacheId, archivePath, options);
|
||||||
}
|
}
|
||||||
const fileSizeLimit = 5 * 1024 * 1024 * 1024; // 5GB per repo limit
|
finally {
|
||||||
const archiveFileSize = utils.getArchiveFileSizeIsBytes(archivePath);
|
// Try to delete the archive to save space
|
||||||
core.debug(`File Size: ${archiveFileSize}`);
|
try {
|
||||||
if (archiveFileSize > fileSizeLimit) {
|
yield utils.unlinkFile(archivePath);
|
||||||
throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 5GB limit, not saving cache.`);
|
}
|
||||||
|
catch (error) {
|
||||||
|
core.debug(`Failed to delete archive: ${error}`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
core.debug(`Saving Cache (ID: ${cacheId})`);
|
|
||||||
yield cacheHttpClient.saveCache(cacheId, archivePath, options);
|
|
||||||
return cacheId;
|
return cacheId;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -53218,7 +53229,12 @@ class HttpHeaders {
|
||||||
* Create a deep clone/copy of this HttpHeaders collection.
|
* Create a deep clone/copy of this HttpHeaders collection.
|
||||||
*/
|
*/
|
||||||
clone() {
|
clone() {
|
||||||
return new HttpHeaders(this.rawHeaders());
|
const resultPreservingCasing = {};
|
||||||
|
for (const headerKey in this._headersMap) {
|
||||||
|
const header = this._headersMap[headerKey];
|
||||||
|
resultPreservingCasing[header.name] = header.value;
|
||||||
|
}
|
||||||
|
return new HttpHeaders(resultPreservingCasing);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53255,7 +53271,7 @@ const Constants = {
|
||||||
/**
|
/**
|
||||||
* The core-http version
|
* The core-http version
|
||||||
*/
|
*/
|
||||||
coreHttpVersion: "2.2.1",
|
coreHttpVersion: "2.2.2",
|
||||||
/**
|
/**
|
||||||
* Specifies HTTP.
|
* Specifies HTTP.
|
||||||
*/
|
*/
|
||||||
|
@ -55568,7 +55584,7 @@ class FetchHttpClient {
|
||||||
}
|
}
|
||||||
let downloadStreamDone = Promise.resolve();
|
let downloadStreamDone = Promise.resolve();
|
||||||
if (isReadableStream(operationResponse === null || operationResponse === void 0 ? void 0 : operationResponse.readableStreamBody)) {
|
if (isReadableStream(operationResponse === null || operationResponse === void 0 ? void 0 : operationResponse.readableStreamBody)) {
|
||||||
downloadStreamDone = isStreamComplete(operationResponse.readableStreamBody);
|
downloadStreamDone = isStreamComplete(operationResponse.readableStreamBody, abortController$1);
|
||||||
}
|
}
|
||||||
Promise.all([uploadStreamDone, downloadStreamDone])
|
Promise.all([uploadStreamDone, downloadStreamDone])
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
@ -55586,11 +55602,14 @@ class FetchHttpClient {
|
||||||
function isReadableStream(body) {
|
function isReadableStream(body) {
|
||||||
return body && typeof body.pipe === "function";
|
return body && typeof body.pipe === "function";
|
||||||
}
|
}
|
||||||
function isStreamComplete(stream) {
|
function isStreamComplete(stream, aborter) {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
stream.on("close", resolve);
|
stream.once("close", () => {
|
||||||
stream.on("end", resolve);
|
aborter === null || aborter === void 0 ? void 0 : aborter.abort();
|
||||||
stream.on("error", resolve);
|
resolve();
|
||||||
|
});
|
||||||
|
stream.once("end", resolve);
|
||||||
|
stream.once("error", resolve);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function parseHeaders(headers) {
|
function parseHeaders(headers) {
|
||||||
|
|
67
dist/setup/index.js
vendored
67
dist/setup/index.js
vendored
|
@ -1041,10 +1041,10 @@ function createTempDirectory() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
exports.createTempDirectory = createTempDirectory;
|
exports.createTempDirectory = createTempDirectory;
|
||||||
function getArchiveFileSizeIsBytes(filePath) {
|
function getArchiveFileSizeInBytes(filePath) {
|
||||||
return fs.statSync(filePath).size;
|
return fs.statSync(filePath).size;
|
||||||
}
|
}
|
||||||
exports.getArchiveFileSizeIsBytes = getArchiveFileSizeIsBytes;
|
exports.getArchiveFileSizeInBytes = getArchiveFileSizeInBytes;
|
||||||
function resolvePaths(patterns) {
|
function resolvePaths(patterns) {
|
||||||
var e_1, _a;
|
var e_1, _a;
|
||||||
var _b;
|
var _b;
|
||||||
|
@ -4552,7 +4552,7 @@ function uploadChunk(httpClient, resourceUrl, openStream, start, end) {
|
||||||
function uploadFile(httpClient, cacheId, archivePath, options) {
|
function uploadFile(httpClient, cacheId, archivePath, options) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
// Upload Chunks
|
// Upload Chunks
|
||||||
const fileSize = fs.statSync(archivePath).size;
|
const fileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
|
const resourceUrl = getCacheApiUrl(`caches/${cacheId.toString()}`);
|
||||||
const fd = fs.openSync(archivePath, 'r');
|
const fd = fs.openSync(archivePath, 'r');
|
||||||
const uploadOptions = options_1.getUploadOptions(options);
|
const uploadOptions = options_1.getUploadOptions(options);
|
||||||
|
@ -4602,7 +4602,7 @@ function saveCache(cacheId, archivePath, options) {
|
||||||
yield uploadFile(httpClient, cacheId, archivePath, options);
|
yield uploadFile(httpClient, cacheId, archivePath, options);
|
||||||
// Commit Cache
|
// Commit Cache
|
||||||
core.debug('Commiting cache');
|
core.debug('Commiting cache');
|
||||||
const cacheSize = utils.getArchiveFileSizeIsBytes(archivePath);
|
const cacheSize = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
core.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
|
core.info(`Cache Size: ~${Math.round(cacheSize / (1024 * 1024))} MB (${cacheSize} B)`);
|
||||||
const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
|
const commitCacheResponse = yield commitCache(httpClient, cacheId, cacheSize);
|
||||||
if (!requestUtils_1.isSuccessStatusCode(commitCacheResponse.statusCode)) {
|
if (!requestUtils_1.isSuccessStatusCode(commitCacheResponse.statusCode)) {
|
||||||
|
@ -7551,7 +7551,7 @@ function downloadCacheHttpClient(archiveLocation, archivePath) {
|
||||||
const contentLengthHeader = downloadResponse.message.headers['content-length'];
|
const contentLengthHeader = downloadResponse.message.headers['content-length'];
|
||||||
if (contentLengthHeader) {
|
if (contentLengthHeader) {
|
||||||
const expectedLength = parseInt(contentLengthHeader);
|
const expectedLength = parseInt(contentLengthHeader);
|
||||||
const actualLength = utils.getArchiveFileSizeIsBytes(archivePath);
|
const actualLength = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
if (actualLength !== expectedLength) {
|
if (actualLength !== expectedLength) {
|
||||||
throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
|
throw new Error(`Incomplete download. Expected file size: ${expectedLength}, actual file size: ${actualLength}`);
|
||||||
}
|
}
|
||||||
|
@ -36873,7 +36873,7 @@ Object.defineProperty(Response.prototype, Symbol.toStringTag, {
|
||||||
});
|
});
|
||||||
|
|
||||||
const INTERNALS$2 = Symbol('Request internals');
|
const INTERNALS$2 = Symbol('Request internals');
|
||||||
const URL = whatwgUrl.URL;
|
const URL = Url.URL || whatwgUrl.URL;
|
||||||
|
|
||||||
// fix an issue where "format", "parse" aren't a named export for node <10
|
// fix an issue where "format", "parse" aren't a named export for node <10
|
||||||
const parse_url = Url.parse;
|
const parse_url = Url.parse;
|
||||||
|
@ -47198,7 +47198,7 @@ function restoreCache(paths, primaryKey, restoreKeys, options) {
|
||||||
if (core.isDebug()) {
|
if (core.isDebug()) {
|
||||||
yield tar_1.listTar(archivePath, compressionMethod);
|
yield tar_1.listTar(archivePath, compressionMethod);
|
||||||
}
|
}
|
||||||
const archiveFileSize = utils.getArchiveFileSizeIsBytes(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)`);
|
||||||
yield tar_1.extractTar(archivePath, compressionMethod);
|
yield tar_1.extractTar(archivePath, compressionMethod);
|
||||||
core.info('Cache restored successfully');
|
core.info('Cache restored successfully');
|
||||||
|
@ -47243,18 +47243,29 @@ function saveCache(paths, key, options) {
|
||||||
const archiveFolder = yield utils.createTempDirectory();
|
const archiveFolder = yield utils.createTempDirectory();
|
||||||
const archivePath = path.join(archiveFolder, utils.getCacheFileName(compressionMethod));
|
const archivePath = path.join(archiveFolder, utils.getCacheFileName(compressionMethod));
|
||||||
core.debug(`Archive Path: ${archivePath}`);
|
core.debug(`Archive Path: ${archivePath}`);
|
||||||
yield tar_1.createTar(archiveFolder, cachePaths, compressionMethod);
|
try {
|
||||||
if (core.isDebug()) {
|
yield tar_1.createTar(archiveFolder, cachePaths, compressionMethod);
|
||||||
yield tar_1.listTar(archivePath, compressionMethod);
|
if (core.isDebug()) {
|
||||||
|
yield tar_1.listTar(archivePath, compressionMethod);
|
||||||
|
}
|
||||||
|
const fileSizeLimit = 10 * 1024 * 1024 * 1024; // 10GB per repo limit
|
||||||
|
const archiveFileSize = utils.getArchiveFileSizeInBytes(archivePath);
|
||||||
|
core.debug(`File Size: ${archiveFileSize}`);
|
||||||
|
if (archiveFileSize > fileSizeLimit) {
|
||||||
|
throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 10GB limit, not saving cache.`);
|
||||||
|
}
|
||||||
|
core.debug(`Saving Cache (ID: ${cacheId})`);
|
||||||
|
yield cacheHttpClient.saveCache(cacheId, archivePath, options);
|
||||||
}
|
}
|
||||||
const fileSizeLimit = 5 * 1024 * 1024 * 1024; // 5GB per repo limit
|
finally {
|
||||||
const archiveFileSize = utils.getArchiveFileSizeIsBytes(archivePath);
|
// Try to delete the archive to save space
|
||||||
core.debug(`File Size: ${archiveFileSize}`);
|
try {
|
||||||
if (archiveFileSize > fileSizeLimit) {
|
yield utils.unlinkFile(archivePath);
|
||||||
throw new Error(`Cache size of ~${Math.round(archiveFileSize / (1024 * 1024))} MB (${archiveFileSize} B) is over the 5GB limit, not saving cache.`);
|
}
|
||||||
|
catch (error) {
|
||||||
|
core.debug(`Failed to delete archive: ${error}`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
core.debug(`Saving Cache (ID: ${cacheId})`);
|
|
||||||
yield cacheHttpClient.saveCache(cacheId, archivePath, options);
|
|
||||||
return cacheId;
|
return cacheId;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -59947,7 +59958,12 @@ class HttpHeaders {
|
||||||
* Create a deep clone/copy of this HttpHeaders collection.
|
* Create a deep clone/copy of this HttpHeaders collection.
|
||||||
*/
|
*/
|
||||||
clone() {
|
clone() {
|
||||||
return new HttpHeaders(this.rawHeaders());
|
const resultPreservingCasing = {};
|
||||||
|
for (const headerKey in this._headersMap) {
|
||||||
|
const header = this._headersMap[headerKey];
|
||||||
|
resultPreservingCasing[header.name] = header.value;
|
||||||
|
}
|
||||||
|
return new HttpHeaders(resultPreservingCasing);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59984,7 +60000,7 @@ const Constants = {
|
||||||
/**
|
/**
|
||||||
* The core-http version
|
* The core-http version
|
||||||
*/
|
*/
|
||||||
coreHttpVersion: "2.2.1",
|
coreHttpVersion: "2.2.2",
|
||||||
/**
|
/**
|
||||||
* Specifies HTTP.
|
* Specifies HTTP.
|
||||||
*/
|
*/
|
||||||
|
@ -62297,7 +62313,7 @@ class FetchHttpClient {
|
||||||
}
|
}
|
||||||
let downloadStreamDone = Promise.resolve();
|
let downloadStreamDone = Promise.resolve();
|
||||||
if (isReadableStream(operationResponse === null || operationResponse === void 0 ? void 0 : operationResponse.readableStreamBody)) {
|
if (isReadableStream(operationResponse === null || operationResponse === void 0 ? void 0 : operationResponse.readableStreamBody)) {
|
||||||
downloadStreamDone = isStreamComplete(operationResponse.readableStreamBody);
|
downloadStreamDone = isStreamComplete(operationResponse.readableStreamBody, abortController$1);
|
||||||
}
|
}
|
||||||
Promise.all([uploadStreamDone, downloadStreamDone])
|
Promise.all([uploadStreamDone, downloadStreamDone])
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
@ -62315,11 +62331,14 @@ class FetchHttpClient {
|
||||||
function isReadableStream(body) {
|
function isReadableStream(body) {
|
||||||
return body && typeof body.pipe === "function";
|
return body && typeof body.pipe === "function";
|
||||||
}
|
}
|
||||||
function isStreamComplete(stream) {
|
function isStreamComplete(stream, aborter) {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
stream.on("close", resolve);
|
stream.once("close", () => {
|
||||||
stream.on("end", resolve);
|
aborter === null || aborter === void 0 ? void 0 : aborter.abort();
|
||||||
stream.on("error", resolve);
|
resolve();
|
||||||
|
});
|
||||||
|
stream.once("end", resolve);
|
||||||
|
stream.once("error", resolve);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function parseHeaders(headers) {
|
function parseHeaders(headers) {
|
||||||
|
|
Loading…
Reference in a new issue