mirror of
https://github.com/github/codeql-action
synced 2026-05-23 20:00:54 +03:00
Make "feature not enabled" reason more specific
This commit is contained in:
Generated
+10
-9
@@ -106388,9 +106388,9 @@ var OVERLAY_ANALYSIS_CODE_SCANNING_FEATURES = {
|
||||
rust: "overlay_analysis_code_scanning_rust" /* OverlayAnalysisCodeScanningRust */,
|
||||
swift: "overlay_analysis_code_scanning_swift" /* OverlayAnalysisCodeScanningSwift */
|
||||
};
|
||||
async function isOverlayAnalysisFeatureEnabled(features, codeql, languages, codeScanningConfig) {
|
||||
async function getOverlayFeatureDisabledReason(features, codeql, languages, codeScanningConfig) {
|
||||
if (!await features.getValue("overlay_analysis" /* OverlayAnalysis */, codeql)) {
|
||||
return false;
|
||||
return "overall-feature-not-enabled" /* OverallFeatureNotEnabled */;
|
||||
}
|
||||
let enableForCodeScanningOnly = false;
|
||||
for (const language of languages) {
|
||||
@@ -106403,12 +106403,15 @@ async function isOverlayAnalysisFeatureEnabled(features, codeql, languages, code
|
||||
enableForCodeScanningOnly = true;
|
||||
continue;
|
||||
}
|
||||
return false;
|
||||
return "language-not-enabled" /* LanguageNotEnabled */;
|
||||
}
|
||||
if (enableForCodeScanningOnly) {
|
||||
return codeScanningConfig["disable-default-queries"] !== true && codeScanningConfig.packs === void 0 && codeScanningConfig.queries === void 0 && codeScanningConfig["query-filters"] === void 0;
|
||||
const isCodeScanningOnly = codeScanningConfig["disable-default-queries"] !== true && codeScanningConfig.packs === void 0 && codeScanningConfig.queries === void 0 && codeScanningConfig["query-filters"] === void 0;
|
||||
if (!isCodeScanningOnly) {
|
||||
return "non-default-queries" /* NonDefaultQueries */;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return void 0;
|
||||
}
|
||||
function runnerHasSufficientDiskSpace(diskUsage, logger, useV2ResourceChecks) {
|
||||
const minimumDiskSpaceBytes = useV2ResourceChecks ? OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_V2_BYTES : OVERLAY_MINIMUM_AVAILABLE_DISK_SPACE_BYTES;
|
||||
@@ -106469,12 +106472,12 @@ async function getOverlayDatabaseMode(codeql, features, languages, sourceRoot, b
|
||||
);
|
||||
overlayDatabaseMode = "none" /* None */;
|
||||
disabledReason = "disabled-by-repository-property" /* DisabledByRepositoryProperty */;
|
||||
} else if (await isOverlayAnalysisFeatureEnabled(
|
||||
} else if ((disabledReason = await getOverlayFeatureDisabledReason(
|
||||
features,
|
||||
codeql,
|
||||
languages,
|
||||
codeScanningConfig
|
||||
)) {
|
||||
)) === void 0) {
|
||||
const performResourceChecks = !await features.getValue(
|
||||
"overlay_analysis_skip_resource_checks" /* OverlayAnalysisSkipResourceChecks */,
|
||||
codeql
|
||||
@@ -106520,8 +106523,6 @@ async function getOverlayDatabaseMode(codeql, features, languages, sourceRoot, b
|
||||
`Setting overlay database mode to ${overlayDatabaseMode} with caching because we are analyzing the default branch.`
|
||||
);
|
||||
}
|
||||
} else {
|
||||
disabledReason = "feature-not-enabled" /* FeatureNotEnabled */;
|
||||
}
|
||||
const disabledResult = (reason) => ({
|
||||
overlayDatabaseMode: "none" /* None */,
|
||||
|
||||
+16
-16
@@ -1151,7 +1151,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.OverallFeatureNotEnabled,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1460,7 +1460,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.NonDefaultQueries,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1481,7 +1481,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.NonDefaultQueries,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1502,7 +1502,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.NonDefaultQueries,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1523,7 +1523,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.NonDefaultQueries,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1538,7 +1538,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.OverallFeatureNotEnabled,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1553,7 +1553,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.OverallFeatureNotEnabled,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1568,7 +1568,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.LanguageNotEnabled,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1757,7 +1757,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.NonDefaultQueries,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1778,7 +1778,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.NonDefaultQueries,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1799,7 +1799,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.NonDefaultQueries,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1820,7 +1820,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.NonDefaultQueries,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1835,7 +1835,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.OverallFeatureNotEnabled,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1850,7 +1850,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.OverallFeatureNotEnabled,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1865,7 +1865,7 @@ test(
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.LanguageNotEnabled,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -2057,7 +2057,7 @@ for (const language in KnownLanguage) {
|
||||
{
|
||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||
useOverlayDatabaseCaching: false,
|
||||
disabledReason: OverlayDisabledReason.FeatureNotEnabled,
|
||||
disabledReason: OverlayDisabledReason.LanguageNotEnabled,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
+12
-12
@@ -653,14 +653,14 @@ const OVERLAY_ANALYSIS_CODE_SCANNING_FEATURES: Record<Language, Feature> = {
|
||||
swift: Feature.OverlayAnalysisCodeScanningSwift,
|
||||
};
|
||||
|
||||
async function isOverlayAnalysisFeatureEnabled(
|
||||
async function getOverlayFeatureDisabledReason(
|
||||
features: FeatureEnablement,
|
||||
codeql: CodeQL,
|
||||
languages: Language[],
|
||||
codeScanningConfig: UserConfig,
|
||||
): Promise<boolean> {
|
||||
): Promise<OverlayDisabledReason | undefined> {
|
||||
if (!(await features.getValue(Feature.OverlayAnalysis, codeql))) {
|
||||
return false;
|
||||
return OverlayDisabledReason.OverallFeatureNotEnabled;
|
||||
}
|
||||
let enableForCodeScanningOnly = false;
|
||||
for (const language of languages) {
|
||||
@@ -677,20 +677,22 @@ async function isOverlayAnalysisFeatureEnabled(
|
||||
enableForCodeScanningOnly = true;
|
||||
continue;
|
||||
}
|
||||
return false;
|
||||
return OverlayDisabledReason.LanguageNotEnabled;
|
||||
}
|
||||
if (enableForCodeScanningOnly) {
|
||||
// A code-scanning configuration runs only the (default) code-scanning suite
|
||||
// if the default queries are not disabled, and no packs, queries, or
|
||||
// query-filters are specified.
|
||||
return (
|
||||
const isCodeScanningOnly =
|
||||
codeScanningConfig["disable-default-queries"] !== true &&
|
||||
codeScanningConfig.packs === undefined &&
|
||||
codeScanningConfig.queries === undefined &&
|
||||
codeScanningConfig["query-filters"] === undefined
|
||||
);
|
||||
codeScanningConfig["query-filters"] === undefined;
|
||||
if (!isCodeScanningOnly) {
|
||||
return OverlayDisabledReason.NonDefaultQueries;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/** Checks if the runner has enough disk space for overlay analysis. */
|
||||
@@ -837,12 +839,12 @@ export async function getOverlayDatabaseMode(
|
||||
overlayDatabaseMode = OverlayDatabaseMode.None;
|
||||
disabledReason = OverlayDisabledReason.DisabledByRepositoryProperty;
|
||||
} else if (
|
||||
await isOverlayAnalysisFeatureEnabled(
|
||||
(disabledReason = await getOverlayFeatureDisabledReason(
|
||||
features,
|
||||
codeql,
|
||||
languages,
|
||||
codeScanningConfig,
|
||||
)
|
||||
)) === undefined
|
||||
) {
|
||||
const performResourceChecks = !(await features.getValue(
|
||||
Feature.OverlayAnalysisSkipResourceChecks,
|
||||
@@ -903,8 +905,6 @@ export async function getOverlayDatabaseMode(
|
||||
"with caching because we are analyzing the default branch.",
|
||||
);
|
||||
}
|
||||
} else {
|
||||
disabledReason = OverlayDisabledReason.FeatureNotEnabled;
|
||||
}
|
||||
|
||||
const disabledResult = (reason: OverlayDisabledReason | undefined) => ({
|
||||
|
||||
@@ -12,8 +12,12 @@ import { RepositoryPropertyName } from "../feature-flags/properties";
|
||||
export enum OverlayDisabledReason {
|
||||
/** Overlay analysis was disabled by a repository property. */
|
||||
DisabledByRepositoryProperty = "disabled-by-repository-property",
|
||||
/** Overlay analysis feature was not enabled. */
|
||||
FeatureNotEnabled = "feature-not-enabled",
|
||||
/** The top-level overlay analysis feature flag is not enabled. */
|
||||
OverallFeatureNotEnabled = "overall-feature-not-enabled",
|
||||
/** Overlay analysis is not enabled for one or more of the configured languages. */
|
||||
LanguageNotEnabled = "language-not-enabled",
|
||||
/** Overlay analysis is restricted to code-scanning-only configs but the config uses custom queries or packs. */
|
||||
NonDefaultQueries = "non-default-queries",
|
||||
/** The build mode is incompatible with overlay analysis. */
|
||||
IncompatibleBuildMode = "incompatible-build-mode",
|
||||
/** The CodeQL CLI version is too old to support overlay analysis. */
|
||||
|
||||
Reference in New Issue
Block a user