From 055e6b6f363c1e073ebc82a2f590a00502b21657 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Mon, 19 Jan 2026 13:41:38 +0000 Subject: [PATCH] Add `EnvVar` constant for analysis key --- lib/analyze-action.js | 4 ++-- lib/autobuild-action.js | 2 +- lib/init-action-post.js | 4 ++-- lib/init-action.js | 4 ++-- lib/resolve-environment-action.js | 2 +- lib/setup-codeql-action.js | 2 +- lib/start-proxy-action.js | 2 +- lib/upload-lib.js | 4 ++-- lib/upload-sarif-action.js | 4 ++-- src/actions-util.test.ts | 5 ++--- src/actions-util.ts | 3 ++- src/api-client.ts | 3 ++- src/environment.ts | 6 ++++++ src/status-report.test.ts | 2 +- 14 files changed, 27 insertions(+), 20 deletions(-) diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 5193a0415..3f06a642b 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -90606,7 +90606,7 @@ function isDefaultSetup() { return isDynamicWorkflow() && !isCCR(); } function isCCR() { - return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith( + return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */]?.startsWith( "dynamic/copilot-pull-request-reviewer" ) || false; } @@ -90876,7 +90876,7 @@ async function getWorkflowRelativePath() { return workflowResponse.data.path; } async function getAnalysisKey() { - const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY"; + const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */; let analysisKey = process.env[analysisKeyEnvVar]; if (analysisKey !== void 0) { return analysisKey; diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index da48d5f35..65cf1c823 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -87542,7 +87542,7 @@ async function getWorkflowRelativePath() { return workflowResponse.data.path; } async function getAnalysisKey() { - const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY"; + const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */; let analysisKey = process.env[analysisKeyEnvVar]; if (analysisKey !== void 0) { return analysisKey; diff --git a/lib/init-action-post.js b/lib/init-action-post.js index 38418b1be..3799a34ce 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -126724,7 +126724,7 @@ function isDefaultSetup() { return isDynamicWorkflow() && !isCCR(); } function isCCR() { - return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith( + return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */]?.startsWith( "dynamic/copilot-pull-request-reviewer" ) || false; } @@ -126928,7 +126928,7 @@ async function getWorkflowRelativePath() { return workflowResponse.data.path; } async function getAnalysisKey() { - const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY"; + const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */; let analysisKey = process.env[analysisKeyEnvVar]; if (analysisKey !== void 0) { return analysisKey; diff --git a/lib/init-action.js b/lib/init-action.js index 58b85aa98..35972710a 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -87955,7 +87955,7 @@ function isDefaultSetup() { return isDynamicWorkflow() && !isCCR(); } function isCCR() { - return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith( + return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */]?.startsWith( "dynamic/copilot-pull-request-reviewer" ) || false; } @@ -88206,7 +88206,7 @@ async function getWorkflowRelativePath() { return workflowResponse.data.path; } async function getAnalysisKey() { - const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY"; + const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */; let analysisKey = process.env[analysisKeyEnvVar]; if (analysisKey !== void 0) { return analysisKey; diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index e17805fbe..14453cb81 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -87550,7 +87550,7 @@ async function getWorkflowRelativePath() { return workflowResponse.data.path; } async function getAnalysisKey() { - const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY"; + const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */; let analysisKey = process.env[analysisKeyEnvVar]; if (analysisKey !== void 0) { return analysisKey; diff --git a/lib/setup-codeql-action.js b/lib/setup-codeql-action.js index 4dcf88da4..0a8e20cef 100644 --- a/lib/setup-codeql-action.js +++ b/lib/setup-codeql-action.js @@ -87667,7 +87667,7 @@ async function getWorkflowRelativePath() { return workflowResponse.data.path; } async function getAnalysisKey() { - const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY"; + const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */; let analysisKey = process.env[analysisKeyEnvVar]; if (analysisKey !== void 0) { return analysisKey; diff --git a/lib/start-proxy-action.js b/lib/start-proxy-action.js index d159e3252..4ae2ce28a 100644 --- a/lib/start-proxy-action.js +++ b/lib/start-proxy-action.js @@ -104587,7 +104587,7 @@ async function getWorkflowRelativePath() { return workflowResponse.data.path; } async function getAnalysisKey() { - const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY"; + const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */; let analysisKey = process.env[analysisKeyEnvVar]; if (analysisKey !== void 0) { return analysisKey; diff --git a/lib/upload-lib.js b/lib/upload-lib.js index 8f926183d..009a82d3a 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -90306,7 +90306,7 @@ function isDefaultSetup() { return isDynamicWorkflow() && !isCCR(); } function isCCR() { - return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith( + return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */]?.startsWith( "dynamic/copilot-pull-request-reviewer" ) || false; } @@ -90528,7 +90528,7 @@ async function getWorkflowRelativePath() { return workflowResponse.data.path; } async function getAnalysisKey() { - const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY"; + const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */; let analysisKey = process.env[analysisKeyEnvVar]; if (analysisKey !== void 0) { return analysisKey; diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index ee32a9e3e..9433fb57a 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -90337,7 +90337,7 @@ function isDefaultSetup() { return isDynamicWorkflow() && !isCCR(); } function isCCR() { - return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith( + return isDynamicWorkflow() && process.env["CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */]?.startsWith( "dynamic/copilot-pull-request-reviewer" ) || false; } @@ -90574,7 +90574,7 @@ async function getWorkflowRelativePath() { return workflowResponse.data.path; } async function getAnalysisKey() { - const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY"; + const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY" /* ANALYSIS_KEY */; let analysisKey = process.env[analysisKeyEnvVar]; if (analysisKey !== void 0) { return analysisKey; diff --git a/src/actions-util.test.ts b/src/actions-util.test.ts index f613a4ed7..71a409da6 100644 --- a/src/actions-util.test.ts +++ b/src/actions-util.test.ts @@ -259,15 +259,14 @@ test("isDynamicWorkflow() returns true if event name is `dynamic`", (t) => { test("isCCR() returns true when expected", (t) => { process.env.GITHUB_EVENT_NAME = "dynamic"; - process.env.CODEQL_ACTION_ANALYSIS_KEY = - "dynamic/copilot-pull-request-reviewer"; + process.env[EnvVar.ANALYSIS_KEY] = "dynamic/copilot-pull-request-reviewer"; t.assert(isCCR()); t.false(isDefaultSetup()); }); test("isDefaultSetup() returns true when expected", (t) => { process.env.GITHUB_EVENT_NAME = "dynamic"; - process.env.CODEQL_ACTION_ANALYSIS_KEY = "dynamic/github-code-scanning"; + process.env[EnvVar.ANALYSIS_KEY] = "dynamic/github-code-scanning"; t.assert(isDefaultSetup()); t.false(isCCR()); }); diff --git a/src/actions-util.ts b/src/actions-util.ts index 550d4a035..b26ee2b1f 100644 --- a/src/actions-util.ts +++ b/src/actions-util.ts @@ -8,6 +8,7 @@ import * as io from "@actions/io"; import { JSONSchemaForNPMPackageJsonFiles } from "@schemastore/package"; import type { Config } from "./config-utils"; +import { EnvVar } from "./environment"; import { Logger } from "./logging"; import { doesDirectoryExist, @@ -261,7 +262,7 @@ export function isDefaultSetup(): boolean { export function isCCR(): boolean { return ( (isDynamicWorkflow() && - process.env["CODEQL_ACTION_ANALYSIS_KEY"]?.startsWith( + process.env[EnvVar.ANALYSIS_KEY]?.startsWith( "dynamic/copilot-pull-request-reviewer", )) || false diff --git a/src/api-client.ts b/src/api-client.ts index 32a6a080b..2f558d458 100644 --- a/src/api-client.ts +++ b/src/api-client.ts @@ -3,6 +3,7 @@ import * as githubUtils from "@actions/github/lib/utils"; import * as retry from "@octokit/plugin-retry"; import { getActionVersion, getRequiredInput } from "./actions-util"; +import { EnvVar } from "./environment"; import { Logger } from "./logging"; import { getRepositoryNwo, RepositoryNwo } from "./repository"; import { @@ -189,7 +190,7 @@ export async function getWorkflowRelativePath(): Promise { * the GitHub API, but after that the result will be cached. */ export async function getAnalysisKey(): Promise { - const analysisKeyEnvVar = "CODEQL_ACTION_ANALYSIS_KEY"; + const analysisKeyEnvVar = EnvVar.ANALYSIS_KEY; let analysisKey = process.env[analysisKeyEnvVar]; if (analysisKey !== undefined) { diff --git a/src/environment.ts b/src/environment.ts index 16617c647..4d7b44c80 100644 --- a/src/environment.ts +++ b/src/environment.ts @@ -135,4 +135,10 @@ export enum EnvVar { * Intended for use in environments where git may not be installed, such as Docker containers. */ TOLERATE_MISSING_GIT_VERSION = "CODEQL_ACTION_TOLERATE_MISSING_GIT_VERSION", + + /** + * Used to store the analysis key used by the CodeQL Action. This is normally populated by + * `getAnalysisKey`, but can also be set manually for testing and non-standard applications. + */ + ANALYSIS_KEY = "CODEQL_ACTION_ANALYSIS_KEY", } diff --git a/src/status-report.test.ts b/src/status-report.test.ts index 8421dccee..e051c54a2 100644 --- a/src/status-report.test.ts +++ b/src/status-report.test.ts @@ -27,7 +27,7 @@ setupTests(test); function setupEnvironmentAndStub(tmpDir: string) { setupActionsVars(tmpDir, tmpDir); - process.env["CODEQL_ACTION_ANALYSIS_KEY"] = "analysis-key"; + process.env[EnvVar.ANALYSIS_KEY] = "analysis-key"; process.env["GITHUB_EVENT_NAME"] = "dynamic"; process.env["GITHUB_REF"] = "refs/heads/main"; process.env["GITHUB_REPOSITORY"] = "octocat/HelloWorld";