From c5b82fa11a67a8ab60d854d11bbe7ac3887da7e9 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Mon, 12 Oct 2026 10:20:14 +0100 Subject: [PATCH] Change `diagnosticsExport` to not require full `Config` --- lib/entry-points.js | 11 ++++++++--- src/codeql.ts | 6 +++--- src/init-action-post-helper.test.ts | 4 ++-- src/init-action-post-helper.ts | 7 ++++++- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/lib/entry-points.js b/lib/entry-points.js index 7005df8c2..f684edb29 100644 --- a/lib/entry-points.js +++ b/lib/entry-points.js @@ -177334,14 +177334,14 @@ async function getCodeQLForCmd(logger2, cmd, checkVersion, env = getEnv()) { } await new toolrunner3.ToolRunner(cmd, args).exec(); }, - async diagnosticsExport(sarifFile, automationDetailsId, config, diagnosticDir) { + async diagnosticsExport(sarifFile, automationDetailsId, tempDir, diagnosticDir) { const args = [ "diagnostics", "export", "--format=sarif-latest", `--output=${sarifFile}`, `--sarif-codescanning-config=${getGeneratedCodeScanningConfigPath( - config.tempDir + tempDir )}`, ...diagnosticDir !== void 0 ? [`--diagnostic-dir=${diagnosticDir}`] : [], ...getExtraOptionsFromEnv(["diagnostics", "export"]) @@ -186904,7 +186904,12 @@ async function generateFailedSarif(logger2, features, config, category, checkout if (!fs31.existsSync(diagnosticDir)) { diagnosticDir = void 0; } - await codeql.diagnosticsExport(sarifFile, category, config, diagnosticDir); + await codeql.diagnosticsExport( + sarifFile, + category, + config.tempDir, + diagnosticDir + ); } else { await codeql.databaseExportDiagnostics(databasePath, sarifFile, category); } diff --git a/src/codeql.ts b/src/codeql.ts index fc90ab901..a474270b7 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -197,7 +197,7 @@ export interface CodeQL { diagnosticsExport( sarifFile: string, automationDetailsId: string | undefined, - config: Config, + tempDir: string, diagnosticDir: string | undefined, ): Promise; /** Get the location of an extractor for the specified language. */ @@ -919,7 +919,7 @@ async function getCodeQLForCmd( async diagnosticsExport( sarifFile: string, automationDetailsId: string | undefined, - config: Config, + tempDir: string, diagnosticDir: string | undefined, ): Promise { const args = [ @@ -928,7 +928,7 @@ async function getCodeQLForCmd( "--format=sarif-latest", `--output=${sarifFile}`, `--sarif-codescanning-config=${getGeneratedCodeScanningConfigPath( - config.tempDir, + tempDir, )}`, ...(diagnosticDir !== undefined ? [`--diagnostic-dir=${diagnosticDir}`] diff --git a/src/init-action-post-helper.test.ts b/src/init-action-post-helper.test.ts index fd1f489f7..5b19048c8 100644 --- a/src/init-action-post-helper.test.ts +++ b/src/init-action-post-helper.test.ts @@ -786,7 +786,7 @@ async function testFailedSarifUpload( diagnosticsExportStub.calledOnceWith( sinon.match.string, category, - config, + config.tempDir, ), `Actual args were: ${JSON.stringify(diagnosticsExportStub.args)}`, ); @@ -893,7 +893,7 @@ test.serial( diagnosticsExport.calledOnceWith( sinon.match(expectedFilePattern), "/language:javascript", - config, + config.tempDir, ), ); }, diff --git a/src/init-action-post-helper.ts b/src/init-action-post-helper.ts index 0414cb214..dc2793a44 100644 --- a/src/init-action-post-helper.ts +++ b/src/init-action-post-helper.ts @@ -191,7 +191,12 @@ async function generateFailedSarif( diagnosticDir = undefined; } - await codeql.diagnosticsExport(sarifFile, category, config, diagnosticDir); + await codeql.diagnosticsExport( + sarifFile, + category, + config.tempDir, + diagnosticDir, + ); } else { // We call 'database export-diagnostics' to find any per-database diagnostics. await codeql.databaseExportDiagnostics(databasePath, sarifFile, category);