From d71accc5fa75551fda9fb0dec1e591c2cab5dded Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Tue, 23 Sep 2025 10:18:39 +0100 Subject: [PATCH 1/2] Configure the API client to retry more often when in test mode --- lib/analyze-action-post.js | 9 ++++++++- lib/analyze-action.js | 6 +++++- lib/autobuild-action.js | 6 +++++- lib/init-action-post.js | 6 +++++- lib/init-action.js | 6 +++++- lib/resolve-environment-action.js | 6 +++++- lib/start-proxy-action-post.js | 9 ++++++++- lib/start-proxy-action.js | 9 ++++++++- lib/upload-lib.js | 6 +++++- lib/upload-sarif-action-post.js | 9 ++++++++- lib/upload-sarif-action.js | 6 +++++- src/api-client.test.ts | 1 + src/api-client.ts | 6 ++++++ 13 files changed, 74 insertions(+), 11 deletions(-) diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index 3894cba111..d722cdf65e 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -117076,6 +117076,9 @@ function getCachedCodeQlVersion() { async function codeQlVersionAtLeast(codeql, requiredVersion) { return semver.gte((await codeql.getVersion()).version, requiredVersion); } +function isInTestMode() { + return process.env["CODEQL_ACTION_TEST_MODE" /* TEST_MODE */] === "true"; +} function wrapError(error2) { return error2 instanceof Error ? error2 : new Error(String(error2)); } @@ -117195,6 +117198,9 @@ var githubUtils = __toESM(require_utils4()); var retry = __toESM(require_dist_node15()); var import_console_log_level = __toESM(require_console_log_level()); var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -117202,7 +117208,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 5389f58483..e1582367c9 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -90177,6 +90177,9 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -90184,7 +90187,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index e7c4027e6d..4492f000d6 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -77902,6 +77902,9 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -77909,7 +77912,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/lib/init-action-post.js b/lib/init-action-post.js index efa766c353..1d04dbe4ad 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -128396,6 +128396,9 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -128403,7 +128406,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/lib/init-action.js b/lib/init-action.js index 059ebffffb..67af6c9e88 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -86029,6 +86029,9 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -86036,7 +86039,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index 68acb6c12d..1f6b08c77e 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -77910,6 +77910,9 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -77917,7 +77920,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js index 5d80b2ed28..cea5fafa6e 100644 --- a/lib/start-proxy-action-post.js +++ b/lib/start-proxy-action-post.js @@ -117042,6 +117042,9 @@ var ConfigurationError = class extends Error { super(message); } }; +function isInTestMode() { + return process.env["CODEQL_ACTION_TEST_MODE" /* TEST_MODE */] === "true"; +} function getErrorMessage(error2) { return error2 instanceof Error ? error2.message : String(error2); } @@ -117078,6 +117081,9 @@ var githubUtils = __toESM(require_utils4()); var retry = __toESM(require_dist_node15()); var import_console_log_level = __toESM(require_console_log_level()); var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -117085,7 +117091,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/lib/start-proxy-action.js b/lib/start-proxy-action.js index c9aa76f792..c6172038ce 100644 --- a/lib/start-proxy-action.js +++ b/lib/start-proxy-action.js @@ -49321,6 +49321,9 @@ async function delay(milliseconds, opts) { } }); } +function isInTestMode() { + return process.env["CODEQL_ACTION_TEST_MODE" /* TEST_MODE */] === "true"; +} function getErrorMessage(error2) { return error2 instanceof Error ? error2.message : String(error2); } @@ -49370,6 +49373,9 @@ var core6 = __toESM(require_core()); var githubUtils = __toESM(require_utils4()); var retry = __toESM(require_dist_node15()); var import_console_log_level = __toESM(require_console_log_level()); +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -49377,7 +49383,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/lib/upload-lib.js b/lib/upload-lib.js index 9eeaabbd10..dae0c1c220 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -88523,6 +88523,9 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -88530,7 +88533,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/lib/upload-sarif-action-post.js b/lib/upload-sarif-action-post.js index d1de1661bd..d1914d5201 100644 --- a/lib/upload-sarif-action-post.js +++ b/lib/upload-sarif-action-post.js @@ -117042,6 +117042,9 @@ var ConfigurationError = class extends Error { super(message); } }; +function isInTestMode() { + return process.env["CODEQL_ACTION_TEST_MODE" /* TEST_MODE */] === "true"; +} function getErrorMessage(error2) { return error2 instanceof Error ? error2.message : String(error2); } @@ -117082,6 +117085,9 @@ var githubUtils = __toESM(require_utils4()); var retry = __toESM(require_dist_node15()); var import_console_log_level = __toESM(require_console_log_level()); var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -117089,7 +117095,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index f7d36732b2..1e292c9a41 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -88775,6 +88775,9 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; +function getRetryConfig() { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; const retryingOctokit = githubUtils.GitHub.plugin(retry.retry); @@ -88782,7 +88785,8 @@ function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) githubUtils.getOctokitOptions(auth, { baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, - log: (0, import_console_log_level.default)({ level: "debug" }) + log: (0, import_console_log_level.default)({ level: "debug" }), + retry: getRetryConfig() }) ); } diff --git a/src/api-client.test.ts b/src/api-client.test.ts index d2647b2bbb..f93cb30513 100644 --- a/src/api-client.test.ts +++ b/src/api-client.test.ts @@ -36,6 +36,7 @@ test("getApiClient", async (t) => { baseUrl: "http://api.github.localhost", log: sinon.match.any, userAgent: `CodeQL-Action/${actionsUtil.getActionVersion()}`, + retry: api.getRetryConfig(), }), ); }); diff --git a/src/api-client.ts b/src/api-client.ts index 207b3c86af..62719a3af7 100644 --- a/src/api-client.ts +++ b/src/api-client.ts @@ -12,6 +12,7 @@ import { GitHubVariant, GitHubVersion, isHTTPError, + isInTestMode, parseGitHubUrl, parseMatrixInput, } from "./util"; @@ -38,6 +39,10 @@ export interface GitHubApiExternalRepoDetails { apiURL: string | undefined; } +export function getRetryConfig(): { retries: number } { + return isInTestMode() ? { retries: 10 } : { retries: 3 }; +} + function createApiClientWithDetails( apiDetails: GitHubApiCombinedDetails, { allowExternal = false } = {}, @@ -50,6 +55,7 @@ function createApiClientWithDetails( baseUrl: apiDetails.apiURL, userAgent: `CodeQL-Action/${getActionVersion()}`, log: consoleLogLevel({ level: "debug" }), + retry: getRetryConfig(), }), ); } From 456086d2511d31039c0fc18c78ddb75852267a40 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Tue, 23 Sep 2025 12:59:21 +0100 Subject: [PATCH 2/2] Adjust retry configuration and add comment --- lib/analyze-action-post.js | 2 +- lib/analyze-action.js | 2 +- lib/autobuild-action.js | 2 +- lib/init-action-post.js | 2 +- lib/init-action.js | 2 +- lib/resolve-environment-action.js | 2 +- lib/start-proxy-action-post.js | 2 +- lib/start-proxy-action.js | 2 +- lib/upload-lib.js | 2 +- lib/upload-sarif-action-post.js | 2 +- lib/upload-sarif-action.js | 2 +- src/api-client.ts | 14 ++++++++++++-- 12 files changed, 23 insertions(+), 13 deletions(-) diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index d722cdf65e..e68a990816 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -117199,7 +117199,7 @@ var retry = __toESM(require_dist_node15()); var import_console_log_level = __toESM(require_console_log_level()); var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/lib/analyze-action.js b/lib/analyze-action.js index e1582367c9..65aead639e 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -90178,7 +90178,7 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index 4492f000d6..401cdb6721 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -77903,7 +77903,7 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/lib/init-action-post.js b/lib/init-action-post.js index 1d04dbe4ad..965f40ff0c 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -128397,7 +128397,7 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/lib/init-action.js b/lib/init-action.js index 67af6c9e88..9bf397d0cd 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -86030,7 +86030,7 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index 1f6b08c77e..0b385ffb67 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -77911,7 +77911,7 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/lib/start-proxy-action-post.js b/lib/start-proxy-action-post.js index cea5fafa6e..cab82cb86b 100644 --- a/lib/start-proxy-action-post.js +++ b/lib/start-proxy-action-post.js @@ -117082,7 +117082,7 @@ var retry = __toESM(require_dist_node15()); var import_console_log_level = __toESM(require_console_log_level()); var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/lib/start-proxy-action.js b/lib/start-proxy-action.js index c6172038ce..4b57754546 100644 --- a/lib/start-proxy-action.js +++ b/lib/start-proxy-action.js @@ -49374,7 +49374,7 @@ var githubUtils = __toESM(require_utils4()); var retry = __toESM(require_dist_node15()); var import_console_log_level = __toESM(require_console_log_level()); function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/lib/upload-lib.js b/lib/upload-lib.js index dae0c1c220..38ce9a574c 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -88524,7 +88524,7 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/lib/upload-sarif-action-post.js b/lib/upload-sarif-action-post.js index d1914d5201..1b332a9b5c 100644 --- a/lib/upload-sarif-action-post.js +++ b/lib/upload-sarif-action-post.js @@ -117086,7 +117086,7 @@ var retry = __toESM(require_dist_node15()); var import_console_log_level = __toESM(require_console_log_level()); var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index 1e292c9a41..96a96a73b9 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -88776,7 +88776,7 @@ function parseRepositoryNwo(input) { // src/api-client.ts var GITHUB_ENTERPRISE_VERSION_HEADER = "x-github-enterprise-version"; function getRetryConfig() { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; + return isInTestMode() ? { retries: 10, retryAfterBaseValue: 1e4 } : { retries: 3, retryAfterBaseValue: 1e3 }; } function createApiClientWithDetails(apiDetails, { allowExternal = false } = {}) { const auth = allowExternal && apiDetails.externalRepoAuth || apiDetails.auth; diff --git a/src/api-client.ts b/src/api-client.ts index 62719a3af7..be59fbe120 100644 --- a/src/api-client.ts +++ b/src/api-client.ts @@ -39,8 +39,18 @@ export interface GitHubApiExternalRepoDetails { apiURL: string | undefined; } -export function getRetryConfig(): { retries: number } { - return isInTestMode() ? { retries: 10 } : { retries: 3 }; +export function getRetryConfig(): { + retries: number; + retryAfterBaseValue?: number; +} { + // If we are in test mode, increase the allowed number of retries to 10 + // and the base backoff from 1s to 10s. `plugin-retry` will wait + // `(failedAttempts ^ 2) * retryAfterBaseValue`-long (in ms) after + // each failed attempt. + // If we are not in test mode, we use the default configuration. + return isInTestMode() + ? { retries: 10, retryAfterBaseValue: 10_000 } + : { retries: 3, retryAfterBaseValue: 1_000 }; } function createApiClientWithDetails(