diff --git a/CHANGELOG.md b/CHANGELOG.md index f9e60b1a83..6070b6aa7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th ## [UNRELEASED] -No user facing changes. +- The `add-snippets` input has been removed from the `analyze` action. This input has been deprecated since CodeQL Action 3.26.4 in August 2024 when this removal was announced. ## 4.31.0 - 24 Oct 2025 diff --git a/analyze/action.yml b/analyze/action.yml index fd6719df47..d3ed35bb64 100644 --- a/analyze/action.yml +++ b/analyze/action.yml @@ -32,14 +32,10 @@ inputs: and 13GB for macOS). required: false add-snippets: - description: Specify whether or not to add code snippets to the output sarif file. + description: Does not have any effect. required: false - default: "false" deprecationMessage: >- - The input "add-snippets" is deprecated and will be removed on the first release in August 2025. - When this input is set to true it is expected to add code snippets with an alert to the SARIF file. - However, since Code Scanning ignores code snippets provided as part of a SARIF file this is currently - a no operation. No alternative is available. + The input "add-snippets" has been removed and no longer has any effect. skip-queries: description: If this option is set, the CodeQL database will be built but no queries will be run on it. Thus, no results will be produced. required: false diff --git a/lib/analyze-action-post.js b/lib/analyze-action-post.js index 6d292eacea..2e556a81b6 100644 --- a/lib/analyze-action-post.js +++ b/lib/analyze-action-post.js @@ -119672,7 +119672,7 @@ ${output}` ]; await runCli(cmd, codeqlArgs); }, - async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { + async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { const shouldExportDiagnostics = await features.getValue( "export_diagnostics_enabled" /* ExportDiagnosticsEnabled */, this @@ -119684,7 +119684,6 @@ ${output}` "--format=sarif-latest", verbosityFlag, `--output=${sarifFile}`, - addSnippetsFlag, "--print-diagnostics-summary", "--print-metrics-summary", "--sarif-add-baseline-file-info", diff --git a/lib/analyze-action.js b/lib/analyze-action.js index 89e9ca335e..515382e481 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -89591,12 +89591,6 @@ function getMemoryFlag(userInput, logger) { const megabytes = getMemoryFlagValue(userInput, logger); return `--ram=${megabytes}`; } -function getAddSnippetsFlag(userInput) { - if (typeof userInput === "string") { - userInput = userInput.toLowerCase() === "true"; - } - return userInput ? "--sarif-add-snippets" : "--no-sarif-add-snippets"; -} function getThreadsFlagValue(userInput, logger) { let numThreads; const maxThreadsCandidates = [os.cpus().length]; @@ -93102,7 +93096,7 @@ ${output}` ]; await runCli(cmd, codeqlArgs); }, - async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { + async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { const shouldExportDiagnostics = await features.getValue( "export_diagnostics_enabled" /* ExportDiagnosticsEnabled */, this @@ -93114,7 +93108,6 @@ ${output}` "--format=sarif-latest", verbosityFlag, `--output=${sarifFile}`, - addSnippetsFlag, "--print-diagnostics-summary", "--print-metrics-summary", "--sarif-add-baseline-file-info", @@ -93901,7 +93894,7 @@ function resolveQuerySuiteAlias(language, maybeSuite) { function addSarifExtension(analysis, base) { return `${base}${analysis.sarifExtension}`; } -async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, diffRangePackDir, automationDetailsId, codeql, config, logger, features) { +async function runQueries(sarifFolder, memoryFlag, threadsFlag, diffRangePackDir, automationDetailsId, codeql, config, logger, features) { const statusReport = {}; const queryFlags = [memoryFlag, threadsFlag]; const incrementalMode = []; @@ -94016,7 +94009,6 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag, databasePath, queries, sarifFile, - addSnippetsFlag, threadsFlag, enableDebugLogging ? "-vv" : "-v", sarifRunPropertyFlag, @@ -96396,10 +96388,14 @@ async function run() { logger ); if (getRequiredInput("skip-queries") !== "true") { + if (getOptionalInput("add-snippets") !== void 0) { + logger.warning( + "The `add-snippets` input has been removed and no longer has any effect." + ); + } runStats = await runQueries( outputDir, memory, - getAddSnippetsFlag(getRequiredInput("add-snippets")), threads, diffRangePackDir, getOptionalInput("category"), diff --git a/lib/autobuild-action.js b/lib/autobuild-action.js index 2a925939e7..2a998c2f20 100644 --- a/lib/autobuild-action.js +++ b/lib/autobuild-action.js @@ -80723,7 +80723,7 @@ ${output}` ]; await runCli(cmd, codeqlArgs); }, - async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { + async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { const shouldExportDiagnostics = await features.getValue( "export_diagnostics_enabled" /* ExportDiagnosticsEnabled */, this @@ -80735,7 +80735,6 @@ ${output}` "--format=sarif-latest", verbosityFlag, `--output=${sarifFile}`, - addSnippetsFlag, "--print-diagnostics-summary", "--print-metrics-summary", "--sarif-add-baseline-file-info", diff --git a/lib/init-action-post.js b/lib/init-action-post.js index ba2c283386..dee2d8f485 100644 --- a/lib/init-action-post.js +++ b/lib/init-action-post.js @@ -131022,7 +131022,7 @@ ${output}` ]; await runCli(cmd, codeqlArgs); }, - async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { + async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { const shouldExportDiagnostics = await features.getValue( "export_diagnostics_enabled" /* ExportDiagnosticsEnabled */, this @@ -131034,7 +131034,6 @@ ${output}` "--format=sarif-latest", verbosityFlag, `--output=${sarifFile}`, - addSnippetsFlag, "--print-diagnostics-summary", "--print-metrics-summary", "--sarif-add-baseline-file-info", diff --git a/lib/init-action.js b/lib/init-action.js index 202465611f..b7b37899eb 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -91360,7 +91360,7 @@ ${output}` ]; await runCli(cmd, codeqlArgs); }, - async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { + async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { const shouldExportDiagnostics = await features.getValue( "export_diagnostics_enabled" /* ExportDiagnosticsEnabled */, this @@ -91372,7 +91372,6 @@ ${output}` "--format=sarif-latest", verbosityFlag, `--output=${sarifFile}`, - addSnippetsFlag, "--print-diagnostics-summary", "--print-metrics-summary", "--sarif-add-baseline-file-info", diff --git a/lib/resolve-environment-action.js b/lib/resolve-environment-action.js index 884f16ced5..ddb7198947 100644 --- a/lib/resolve-environment-action.js +++ b/lib/resolve-environment-action.js @@ -80422,7 +80422,7 @@ ${output}` ]; await runCli(cmd, codeqlArgs); }, - async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { + async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { const shouldExportDiagnostics = await features.getValue( "export_diagnostics_enabled" /* ExportDiagnosticsEnabled */, this @@ -80434,7 +80434,6 @@ ${output}` "--format=sarif-latest", verbosityFlag, `--output=${sarifFile}`, - addSnippetsFlag, "--print-diagnostics-summary", "--print-metrics-summary", "--sarif-add-baseline-file-info", diff --git a/lib/setup-codeql-action.js b/lib/setup-codeql-action.js index 37e3f6121a..49b11f3b97 100644 --- a/lib/setup-codeql-action.js +++ b/lib/setup-codeql-action.js @@ -88295,7 +88295,7 @@ ${output}` ]; await runCli(cmd, codeqlArgs); }, - async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { + async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { const shouldExportDiagnostics = await features.getValue( "export_diagnostics_enabled" /* ExportDiagnosticsEnabled */, this @@ -88307,7 +88307,6 @@ ${output}` "--format=sarif-latest", verbosityFlag, `--output=${sarifFile}`, - addSnippetsFlag, "--print-diagnostics-summary", "--print-metrics-summary", "--sarif-add-baseline-file-info", diff --git a/lib/upload-lib.js b/lib/upload-lib.js index b5f901089d..00067ebf18 100644 --- a/lib/upload-lib.js +++ b/lib/upload-lib.js @@ -90862,7 +90862,7 @@ ${output}` ]; await runCli(cmd, codeqlArgs); }, - async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { + async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { const shouldExportDiagnostics = await features.getValue( "export_diagnostics_enabled" /* ExportDiagnosticsEnabled */, this @@ -90874,7 +90874,6 @@ ${output}` "--format=sarif-latest", verbosityFlag, `--output=${sarifFile}`, - addSnippetsFlag, "--print-diagnostics-summary", "--print-metrics-summary", "--sarif-add-baseline-file-info", diff --git a/lib/upload-sarif-action.js b/lib/upload-sarif-action.js index d49ad89b29..2206495f3e 100644 --- a/lib/upload-sarif-action.js +++ b/lib/upload-sarif-action.js @@ -91535,7 +91535,7 @@ ${output}` ]; await runCli(cmd, codeqlArgs); }, - async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { + async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, threadsFlag, verbosityFlag, sarifRunPropertyFlag, automationDetailsId, config, features) { const shouldExportDiagnostics = await features.getValue( "export_diagnostics_enabled" /* ExportDiagnosticsEnabled */, this @@ -91547,7 +91547,6 @@ ${output}` "--format=sarif-latest", verbosityFlag, `--output=${sarifFile}`, - addSnippetsFlag, "--print-diagnostics-summary", "--print-metrics-summary", "--sarif-add-baseline-file-info", diff --git a/src/analyze-action-env.test.ts b/src/analyze-action-env.test.ts index c39f31d766..e4960a5803 100644 --- a/src/analyze-action-env.test.ts +++ b/src/analyze-action-env.test.ts @@ -78,7 +78,7 @@ test("analyze action with RAM & threads from environment variables", async (t) = t.deepEqual(runFinalizeStub.firstCall.args[1], "--threads=-1"); t.deepEqual(runFinalizeStub.firstCall.args[2], "--ram=4992"); t.assert(runQueriesStub.calledOnce); - t.deepEqual(runQueriesStub.firstCall.args[3], "--threads=-1"); + t.deepEqual(runQueriesStub.firstCall.args[2], "--threads=-1"); t.deepEqual(runQueriesStub.firstCall.args[1], "--ram=4992"); }); }); diff --git a/src/analyze-action-input.test.ts b/src/analyze-action-input.test.ts index 1f8017e10e..48fa216ebf 100644 --- a/src/analyze-action-input.test.ts +++ b/src/analyze-action-input.test.ts @@ -76,7 +76,7 @@ test("analyze action with RAM & threads from action inputs", async (t) => { t.deepEqual(runFinalizeStub.firstCall.args[1], "--threads=-1"); t.deepEqual(runFinalizeStub.firstCall.args[2], "--ram=3012"); t.assert(runQueriesStub.calledOnce); - t.deepEqual(runQueriesStub.firstCall.args[3], "--threads=-1"); + t.deepEqual(runQueriesStub.firstCall.args[2], "--threads=-1"); t.deepEqual(runQueriesStub.firstCall.args[1], "--ram=3012"); }); }); diff --git a/src/analyze-action.ts b/src/analyze-action.ts index 9ba010855b..ff24dd4007 100644 --- a/src/analyze-action.ts +++ b/src/analyze-action.ts @@ -324,10 +324,16 @@ async function run() { ); if (actionsUtil.getRequiredInput("skip-queries") !== "true") { + // Warn if the removed `add-snippets` input is used. + if (actionsUtil.getOptionalInput("add-snippets") !== undefined) { + logger.warning( + "The `add-snippets` input has been removed and no longer has any effect.", + ); + } + runStats = await runQueries( outputDir, memory, - util.getAddSnippetsFlag(actionsUtil.getRequiredInput("add-snippets")), threads, diffRangePackDir, actionsUtil.getOptionalInput("category"), diff --git a/src/analyze.test.ts b/src/analyze.test.ts index f3d516a78a..82ea9451c2 100644 --- a/src/analyze.test.ts +++ b/src/analyze.test.ts @@ -39,7 +39,6 @@ test("status report fields", async (t) => { setupActionsVars(tmpDir, tmpDir); const memoryFlag = ""; - const addSnippetsFlag = ""; const threadsFlag = ""; sinon.stub(uploadLib, "validateSarifFileSchema"); @@ -105,7 +104,6 @@ test("status report fields", async (t) => { const statusReport = await runQueries( tmpDir, memoryFlag, - addSnippetsFlag, threadsFlag, undefined, undefined, diff --git a/src/analyze.ts b/src/analyze.ts index b7eec921ac..055001851e 100644 --- a/src/analyze.ts +++ b/src/analyze.ts @@ -621,7 +621,6 @@ export function addSarifExtension( export async function runQueries( sarifFolder: string, memoryFlag: string, - addSnippetsFlag: string, threadsFlag: string, diffRangePackDir: string | undefined, automationDetailsId: string | undefined, @@ -811,7 +810,6 @@ export async function runQueries( databasePath, queries, sarifFile, - addSnippetsFlag, threadsFlag, enableDebugLogging ? "-vv" : "-v", sarifRunPropertyFlag, diff --git a/src/codeql.ts b/src/codeql.ts index 5a7708fbdb..97c3a1fd2f 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -167,7 +167,6 @@ export interface CodeQL { databasePath: string, querySuitePaths: string[] | undefined, sarifFile: string, - addSnippetsFlag: string, threadsFlag: string, verbosityFlag: string | undefined, sarifRunPropertyFlag: string | undefined, @@ -817,7 +816,6 @@ export async function getCodeQLForCmd( databasePath: string, querySuitePaths: string[] | undefined, sarifFile: string, - addSnippetsFlag: string, threadsFlag: string, verbosityFlag: string, sarifRunPropertyFlag: string | undefined, @@ -836,7 +834,6 @@ export async function getCodeQLForCmd( "--format=sarif-latest", verbosityFlag, `--output=${sarifFile}`, - addSnippetsFlag, "--print-diagnostics-summary", "--print-metrics-summary", "--sarif-add-baseline-file-info", diff --git a/src/util.test.ts b/src/util.test.ts index 13ae6e0bbf..a7c5f52279 100644 --- a/src/util.test.ts +++ b/src/util.test.ts @@ -101,16 +101,6 @@ test("getMemoryFlag() throws if the ram input is < 0 or NaN", async (t) => { } }); -test("getAddSnippetsFlag() should return the correct flag", (t) => { - t.deepEqual(util.getAddSnippetsFlag(true), "--sarif-add-snippets"); - t.deepEqual(util.getAddSnippetsFlag("true"), "--sarif-add-snippets"); - - t.deepEqual(util.getAddSnippetsFlag(false), "--no-sarif-add-snippets"); - t.deepEqual(util.getAddSnippetsFlag(undefined), "--no-sarif-add-snippets"); - t.deepEqual(util.getAddSnippetsFlag("false"), "--no-sarif-add-snippets"); - t.deepEqual(util.getAddSnippetsFlag("foo bar"), "--no-sarif-add-snippets"); -}); - test("getThreadsFlag() should return the correct --threads flag", (t) => { const numCpus = os.cpus().length; diff --git a/src/util.ts b/src/util.ts index 6aa8e7d9a3..082d0383fc 100644 --- a/src/util.ts +++ b/src/util.ts @@ -343,21 +343,6 @@ export function getMemoryFlag( return `--ram=${megabytes}`; } -/** - * Get the codeql flag to specify whether to add code snippets to the sarif file. - * - * @returns string - */ -export function getAddSnippetsFlag( - userInput: string | boolean | undefined, -): string { - if (typeof userInput === "string") { - // have to process specifically because any non-empty string is truthy - userInput = userInput.toLowerCase() === "true"; - } - return userInput ? "--sarif-add-snippets" : "--no-sarif-add-snippets"; -} - /** * Get the value of the codeql `--threads` flag specified for the `threads` * input. If no value was specified, all available threads will be used.