Add status page diagnostic when overlay skipped

This commit is contained in:
Henry Mercer
2026-02-17 13:38:06 +00:00
parent 0c47ae1c18
commit 7b7a951e08
8 changed files with 95 additions and 21 deletions
+1 -1
View File
@@ -112127,7 +112127,7 @@ function resolveUriToFile(location, artifacts, sourceRoot, logger) {
}
async function addFingerprints(sarif, sourceRoot, logger) {
logger.info(
`Adding fingerprints to SARIF file. See ${"https://docs.github.com/en/enterprise-cloud@latest/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs" /* TRACK_CODE_SCANNING_ALERTS_ACROSS_RUNS */} for more information.`
`Adding fingerprints to SARIF file. See ${"https://docs.github.com/en/code-security/reference/code-scanning/sarif-support-for-code-scanning#data-for-preventing-duplicated-alerts" /* TRACK_CODE_SCANNING_ALERTS_ACROSS_RUNS */} for more information.`
);
const callbacksByFile = {};
for (const run2 of sarif.runs || []) {
+1 -1
View File
@@ -168851,7 +168851,7 @@ function resolveUriToFile(location, artifacts, sourceRoot, logger) {
}
async function addFingerprints(sarif, sourceRoot, logger) {
logger.info(
`Adding fingerprints to SARIF file. See ${"https://docs.github.com/en/enterprise-cloud@latest/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs" /* TRACK_CODE_SCANNING_ALERTS_ACROSS_RUNS */} for more information.`
`Adding fingerprints to SARIF file. See ${"https://docs.github.com/en/code-security/reference/code-scanning/sarif-support-for-code-scanning#data-for-preventing-duplicated-alerts" /* TRACK_CODE_SCANNING_ALERTS_ACROSS_RUNS */} for more information.`
);
const callbacksByFile = {};
for (const run3 of sarif.runs || []) {
+34 -3
View File
@@ -106158,6 +106158,7 @@ async function runnerSupportsOverlayAnalysis(diskUsage, ramInput, logger) {
async function getOverlayDatabaseMode(codeql, features, languages, sourceRoot, buildMode, ramInput, codeScanningConfig, gitVersion, logger) {
let overlayDatabaseMode = "none" /* None */;
let useOverlayDatabaseCaching = false;
let skippedDueToCachedStatus = false;
const modeEnv = process.env.CODEQL_OVERLAY_DATABASE_MODE;
if (modeEnv === "overlay" /* Overlay */ || modeEnv === "overlay-base" /* OverlayBase */ || modeEnv === "none" /* None */) {
overlayDatabaseMode = modeEnv;
@@ -106180,6 +106181,7 @@ async function getOverlayDatabaseMode(codeql, features, languages, sourceRoot, b
`Setting overlay database mode to ${"none" /* None */} because overlay analysis previously failed with this combination of languages, disk space, and CodeQL version. Consider running CodeQL analysis on a larger runner.`
);
overlayDatabaseMode = "none" /* None */;
skippedDueToCachedStatus = true;
} else if (performResourceChecks && !await runnerSupportsOverlayAnalysis(diskUsage, ramInput, logger)) {
overlayDatabaseMode = "none" /* None */;
} else if (isAnalyzingPullRequest()) {
@@ -106198,7 +106200,8 @@ async function getOverlayDatabaseMode(codeql, features, languages, sourceRoot, b
}
const nonOverlayAnalysis = {
overlayDatabaseMode: "none" /* None */,
useOverlayDatabaseCaching: false
useOverlayDatabaseCaching: false,
skippedDueToCachedStatus
};
if (overlayDatabaseMode === "none" /* None */) {
return nonOverlayAnalysis;
@@ -106243,7 +106246,8 @@ async function getOverlayDatabaseMode(codeql, features, languages, sourceRoot, b
}
return {
overlayDatabaseMode,
useOverlayDatabaseCaching
useOverlayDatabaseCaching,
skippedDueToCachedStatus
};
}
function dbLocationOrDefault(dbLocation, tempDir) {
@@ -106332,7 +106336,11 @@ async function initConfig(features, inputs) {
} else {
logger.debug(`Skipping check for generated files.`);
}
const { overlayDatabaseMode, useOverlayDatabaseCaching } = await getOverlayDatabaseMode(
const {
overlayDatabaseMode,
useOverlayDatabaseCaching,
skippedDueToCachedStatus: overlaySkippedDueToCachedStatus
} = await getOverlayDatabaseMode(
inputs.codeql,
inputs.features,
config.languages,
@@ -106348,6 +106356,29 @@ async function initConfig(features, inputs) {
);
config.overlayDatabaseMode = overlayDatabaseMode;
config.useOverlayDatabaseCaching = useOverlayDatabaseCaching;
if (overlaySkippedDueToCachedStatus) {
addNoLanguageDiagnostic(
config,
makeDiagnostic(
"codeql-action/overlay-skipped-due-to-cached-status",
"Overlay analysis skipped due to cached status",
{
attributes: {
languages: config.languages
},
markdownMessage: `Overlay analysis was skipped because it failed previously on this runner. Running CodeQL analysis on a larger runner may allow overlay analysis to run successfully.
Overlay analysis will be automatically retried when the next version of CodeQL is released. You can also manually trigger a retry by [removing](${"https://docs.github.com/en/actions/how-tos/manage-workflow-runs/manage-caches#deleting-cache-entries" /* DELETE_ACTIONS_CACHE_ENTRIES */}) \`codeql-overlay-status-*\` entries from the Actions cache.`,
severity: "note",
visibility: {
cliSummaryTable: true,
statusPage: true,
telemetry: true
}
}
)
);
}
if (overlayDatabaseMode === "overlay" /* Overlay */ || await shouldPerformDiffInformedAnalysis(
inputs.codeql,
inputs.features,
+1 -1
View File
@@ -110058,7 +110058,7 @@ function resolveUriToFile(location, artifacts, sourceRoot, logger) {
}
async function addFingerprints(sarif, sourceRoot, logger) {
logger.info(
`Adding fingerprints to SARIF file. See ${"https://docs.github.com/en/enterprise-cloud@latest/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs" /* TRACK_CODE_SCANNING_ALERTS_ACROSS_RUNS */} for more information.`
`Adding fingerprints to SARIF file. See ${"https://docs.github.com/en/code-security/reference/code-scanning/sarif-support-for-code-scanning#data-for-preventing-duplicated-alerts" /* TRACK_CODE_SCANNING_ALERTS_ACROSS_RUNS */} for more information.`
);
const callbacksByFile = {};
for (const run of sarif.runs || []) {
+1 -1
View File
@@ -110609,7 +110609,7 @@ function resolveUriToFile(location, artifacts, sourceRoot, logger) {
}
async function addFingerprints(sarif, sourceRoot, logger) {
logger.info(
`Adding fingerprints to SARIF file. See ${"https://docs.github.com/en/enterprise-cloud@latest/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#providing-data-to-track-code-scanning-alerts-across-runs" /* TRACK_CODE_SCANNING_ALERTS_ACROSS_RUNS */} for more information.`
`Adding fingerprints to SARIF file. See ${"https://docs.github.com/en/code-security/reference/code-scanning/sarif-support-for-code-scanning#data-for-preventing-duplicated-alerts" /* TRACK_CODE_SCANNING_ALERTS_ACROSS_RUNS */} for more information.`
);
const callbacksByFile = {};
for (const run2 of sarif.runs || []) {