3
0
Fork 0
mirror of https://github.com/Swatinem/rust-cache synced 2025-08-14 08:55:27 +00:00

Update build artifacts

This commit is contained in:
MOZGIII 2022-09-04 18:51:30 +04:00
parent e7d31ca62b
commit 6978315cd7
2 changed files with 1095 additions and 1001 deletions

49
dist/restore/index.js vendored
View file

@ -64390,6 +64390,40 @@ async function getCmdOutput(cmd, args = [], options = {}) {
} }
return stdout; return stdout;
} }
async function withRetries(operation, maxRetryAttempts, isRetriable) {
let attemptsLeft = maxRetryAttempts;
while (true) {
try {
return await operation();
}
catch (e) {
attemptsLeft -= 1;
if (attemptsLeft <= 0) {
throw e;
}
if (!isRetriable(e)) {
throw e;
}
lib_core.info(`[warning] Retrying after an error, ${attemptsLeft} attempts left, error: ${e}`);
}
}
}
class TimeoutError extends Error {
}
async function withTimeout(operation, timeoutMs) {
const timeout = timeoutMs
? new Promise((resolve) => {
setTimeout(resolve, timeoutMs);
})
: new Promise(() => { });
const timeoutSym = Symbol("timeout");
const racingTimeout = timeout.then(() => timeoutSym);
const result = await Promise.race([racingTimeout, operation(timeout)]);
if (result === timeoutSym) {
throw new TimeoutError("operation timeout");
}
return result;
}
;// CONCATENATED MODULE: ./src/workspace.ts ;// CONCATENATED MODULE: ./src/workspace.ts
@ -64444,6 +64478,10 @@ class CacheConfig {
this.restoreKey = ""; this.restoreKey = "";
/** The workspace configurations */ /** The workspace configurations */
this.workspaces = []; this.workspaces = [];
/** The max timeout for the networking operations */
this.timeout = null;
/** The max retry attemtps for the networking operations */
this.maxRetryAttempts = 0;
/** The prefix portion of the cache key */ /** The prefix portion of the cache key */
this.keyPrefix = ""; this.keyPrefix = "";
/** The rust version considered for the cache key */ /** The rust version considered for the cache key */
@ -64549,6 +64587,10 @@ class CacheConfig {
} }
self.workspaces = workspaces; self.workspaces = workspaces;
self.cachePaths = [config_CARGO_HOME, ...workspaces.map((ws) => ws.target)]; self.cachePaths = [config_CARGO_HOME, ...workspaces.map((ws) => ws.target)];
const timeoutInput = lib_core.getInput("timeout");
self.timeout = timeoutInput ? parseFloat(timeoutInput) : null;
const maxRetryAttemptsInput = lib_core.getInput("maxRetryAttempts");
self.maxRetryAttempts = maxRetryAttemptsInput ? parseFloat(maxRetryAttemptsInput) : 0;
return self; return self;
} }
printInfo() { printInfo() {
@ -64576,6 +64618,10 @@ class CacheConfig {
for (const file of this.keyFiles) { for (const file of this.keyFiles) {
lib_core.info(` - ${file}`); lib_core.info(` - ${file}`);
} }
lib_core.info(`Network operations timeout:`);
lib_core.info(` ${this.timeout}`);
lib_core.info(`Max retry attempts for the network operations:`);
lib_core.info(` ${this.maxRetryAttempts}`);
lib_core.endGroup(); lib_core.endGroup();
} }
} }
@ -64810,6 +64856,7 @@ async function exists(path) {
process.on("uncaughtException", (e) => { process.on("uncaughtException", (e) => {
lib_core.info(`[warning] ${e.message}`); lib_core.info(`[warning] ${e.message}`);
if (e.stack) { if (e.stack) {
@ -64835,7 +64882,7 @@ async function run() {
lib_core.saveState(config_STATE_BINS, JSON.stringify([...bins])); lib_core.saveState(config_STATE_BINS, JSON.stringify([...bins]));
lib_core.info(`... Restoring cache ...`); lib_core.info(`... Restoring cache ...`);
const key = config.cacheKey; const key = config.cacheKey;
const restoreKey = await cache.restoreCache(config.cachePaths, key, [config.restoreKey]); const restoreKey = await withRetries(() => withTimeout(() => cache.restoreCache(config.cachePaths, key, [config.restoreKey]), config.timeout), config.maxRetryAttempts, () => true);
if (restoreKey) { if (restoreKey) {
lib_core.info(`Restored from cache key "${restoreKey}".`); lib_core.info(`Restored from cache key "${restoreKey}".`);
lib_core.saveState(STATE_KEY, restoreKey); lib_core.saveState(STATE_KEY, restoreKey);

49
dist/save/index.js vendored
View file

@ -64390,6 +64390,40 @@ async function getCmdOutput(cmd, args = [], options = {}) {
} }
return stdout; return stdout;
} }
async function withRetries(operation, maxRetryAttempts, isRetriable) {
let attemptsLeft = maxRetryAttempts;
while (true) {
try {
return await operation();
}
catch (e) {
attemptsLeft -= 1;
if (attemptsLeft <= 0) {
throw e;
}
if (!isRetriable(e)) {
throw e;
}
core.info(`[warning] Retrying after an error, ${attemptsLeft} attempts left, error: ${e}`);
}
}
}
class TimeoutError extends Error {
}
async function withTimeout(operation, timeoutMs) {
const timeout = timeoutMs
? new Promise((resolve) => {
setTimeout(resolve, timeoutMs);
})
: new Promise(() => { });
const timeoutSym = Symbol("timeout");
const racingTimeout = timeout.then(() => timeoutSym);
const result = await Promise.race([racingTimeout, operation(timeout)]);
if (result === timeoutSym) {
throw new TimeoutError("operation timeout");
}
return result;
}
;// CONCATENATED MODULE: ./src/workspace.ts ;// CONCATENATED MODULE: ./src/workspace.ts
@ -64444,6 +64478,10 @@ class CacheConfig {
this.restoreKey = ""; this.restoreKey = "";
/** The workspace configurations */ /** The workspace configurations */
this.workspaces = []; this.workspaces = [];
/** The max timeout for the networking operations */
this.timeout = null;
/** The max retry attemtps for the networking operations */
this.maxRetryAttempts = 0;
/** The prefix portion of the cache key */ /** The prefix portion of the cache key */
this.keyPrefix = ""; this.keyPrefix = "";
/** The rust version considered for the cache key */ /** The rust version considered for the cache key */
@ -64549,6 +64587,10 @@ class CacheConfig {
} }
self.workspaces = workspaces; self.workspaces = workspaces;
self.cachePaths = [CARGO_HOME, ...workspaces.map((ws) => ws.target)]; self.cachePaths = [CARGO_HOME, ...workspaces.map((ws) => ws.target)];
const timeoutInput = core.getInput("timeout");
self.timeout = timeoutInput ? parseFloat(timeoutInput) : null;
const maxRetryAttemptsInput = core.getInput("maxRetryAttempts");
self.maxRetryAttempts = maxRetryAttemptsInput ? parseFloat(maxRetryAttemptsInput) : 0;
return self; return self;
} }
printInfo() { printInfo() {
@ -64576,6 +64618,10 @@ class CacheConfig {
for (const file of this.keyFiles) { for (const file of this.keyFiles) {
core.info(` - ${file}`); core.info(` - ${file}`);
} }
core.info(`Network operations timeout:`);
core.info(` ${this.timeout}`);
core.info(`Max retry attempts for the network operations:`);
core.info(` ${this.maxRetryAttempts}`);
core.endGroup(); core.endGroup();
} }
} }
@ -64811,6 +64857,7 @@ async function exists(path) {
process.on("uncaughtException", (e) => { process.on("uncaughtException", (e) => {
core.info(`[warning] ${e.message}`); core.info(`[warning] ${e.message}`);
if (e.stack) { if (e.stack) {
@ -64865,7 +64912,7 @@ async function run() {
core.info(`[warning] ${e.stack}`); core.info(`[warning] ${e.stack}`);
} }
core.info(`... Saving cache ...`); core.info(`... Saving cache ...`);
await cache.saveCache(config.cachePaths, config.cacheKey); await withRetries(() => withTimeout(() => cache.saveCache(config.cachePaths, config.cacheKey), config.timeout), config.maxRetryAttempts, () => true);
} }
catch (e) { catch (e) {
core.info(`[warning] ${e.stack}`); core.info(`[warning] ${e.stack}`);