From 456086d2511d31039c0fc18c78ddb75852267a40 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Tue, 23 Sep 2025 12:59:21 +0100 Subject: [PATCH] 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 d722cdf65..e68a99081 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 e1582367c..65aead639 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 4492f000d..401cdb672 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 1d04dbe4a..965f40ff0 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 67af6c9e8..9bf397d0c 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 1f6b08c77..0b385ffb6 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 cea5fafa6..cab82cb86 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 c6172038c..4b5775454 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 dae0c1c22..38ce9a574 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 d1914d520..1b332a9b5 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 1e292c9a4..96a96a73b 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 62719a3af..be59fbe12 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(