mirror of
https://github.com/github/codeql-action.git
synced 2026-06-03 12:24:38 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 948a63aed1 |
@@ -6,10 +6,6 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th
|
|||||||
|
|
||||||
No user facing changes.
|
No user facing changes.
|
||||||
|
|
||||||
## 4.36.1 - 02 Jun 2026
|
|
||||||
|
|
||||||
No user facing changes.
|
|
||||||
|
|
||||||
## 4.36.0 - 22 May 2026
|
## 4.36.0 - 22 May 2026
|
||||||
|
|
||||||
- _Breaking change_: Bump the minimum required CodeQL bundle version to 2.19.4. [#3894](https://github.com/github/codeql-action/pull/3894)
|
- _Breaking change_: Bump the minimum required CodeQL bundle version to 2.19.4. [#3894](https://github.com/github/codeql-action/pull/3894)
|
||||||
|
|||||||
Generated
+13
-14
@@ -148366,7 +148366,7 @@ function getDiffRangesJsonFilePath() {
|
|||||||
return path2.join(getTemporaryDirectory(), PR_DIFF_RANGE_JSON_FILENAME);
|
return path2.join(getTemporaryDirectory(), PR_DIFF_RANGE_JSON_FILENAME);
|
||||||
}
|
}
|
||||||
function getActionVersion() {
|
function getActionVersion() {
|
||||||
return "4.36.2";
|
return "4.36.1";
|
||||||
}
|
}
|
||||||
function getWorkflowEventName() {
|
function getWorkflowEventName() {
|
||||||
return getRequiredEnvParam("GITHUB_EVENT_NAME");
|
return getRequiredEnvParam("GITHUB_EVENT_NAME");
|
||||||
@@ -149396,6 +149396,11 @@ var featureConfig = {
|
|||||||
legacyApi: true,
|
legacyApi: true,
|
||||||
minimumVersion: void 0
|
minimumVersion: void 0
|
||||||
},
|
},
|
||||||
|
["force_jgit" /* ForceJGit */]: {
|
||||||
|
defaultValue: false,
|
||||||
|
envVar: "CODEQL_ACTION_FORCE_JGIT",
|
||||||
|
minimumVersion: void 0
|
||||||
|
},
|
||||||
["force_nightly" /* ForceNightly */]: {
|
["force_nightly" /* ForceNightly */]: {
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
envVar: "CODEQL_ACTION_FORCE_NIGHTLY",
|
envVar: "CODEQL_ACTION_FORCE_NIGHTLY",
|
||||||
@@ -151711,7 +151716,6 @@ async function initActionState({
|
|||||||
extraQueryExclusions: [],
|
extraQueryExclusions: [],
|
||||||
overlayDatabaseMode: "none" /* None */,
|
overlayDatabaseMode: "none" /* None */,
|
||||||
useOverlayDatabaseCaching: false,
|
useOverlayDatabaseCaching: false,
|
||||||
overlayModeSetExplicitly: false,
|
|
||||||
repositoryProperties,
|
repositoryProperties,
|
||||||
enableFileCoverageInformation
|
enableFileCoverageInformation
|
||||||
};
|
};
|
||||||
@@ -151840,7 +151844,6 @@ async function checkOverlayEnablement(codeql, features, languages, sourceRoot, b
|
|||||||
return validateOverlayDatabaseMode(
|
return validateOverlayDatabaseMode(
|
||||||
modeEnv,
|
modeEnv,
|
||||||
false,
|
false,
|
||||||
true,
|
|
||||||
codeql,
|
codeql,
|
||||||
languages,
|
languages,
|
||||||
sourceRoot,
|
sourceRoot,
|
||||||
@@ -151915,7 +151918,6 @@ async function checkOverlayEnablement(codeql, features, languages, sourceRoot, b
|
|||||||
return validateOverlayDatabaseMode(
|
return validateOverlayDatabaseMode(
|
||||||
overlayDatabaseMode,
|
overlayDatabaseMode,
|
||||||
true,
|
true,
|
||||||
false,
|
|
||||||
codeql,
|
codeql,
|
||||||
languages,
|
languages,
|
||||||
sourceRoot,
|
sourceRoot,
|
||||||
@@ -151924,7 +151926,7 @@ async function checkOverlayEnablement(codeql, features, languages, sourceRoot, b
|
|||||||
logger
|
logger
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
async function validateOverlayDatabaseMode(overlayDatabaseMode, useOverlayDatabaseCaching, overlayModeSetExplicitly, codeql, languages, sourceRoot, buildMode, gitVersion, logger) {
|
async function validateOverlayDatabaseMode(overlayDatabaseMode, useOverlayDatabaseCaching, codeql, languages, sourceRoot, buildMode, gitVersion, logger) {
|
||||||
if (buildMode !== "none" /* None */ && (await Promise.all(
|
if (buildMode !== "none" /* None */ && (await Promise.all(
|
||||||
languages.map(
|
languages.map(
|
||||||
async (l) => l !== "go" /* go */ && // Workaround to allow overlay analysis for Go with any build
|
async (l) => l !== "go" /* go */ && // Workaround to allow overlay analysis for Go with any build
|
||||||
@@ -151968,8 +151970,7 @@ async function validateOverlayDatabaseMode(overlayDatabaseMode, useOverlayDataba
|
|||||||
}
|
}
|
||||||
return new Success({
|
return new Success({
|
||||||
overlayDatabaseMode,
|
overlayDatabaseMode,
|
||||||
useOverlayDatabaseCaching,
|
useOverlayDatabaseCaching
|
||||||
overlayModeSetExplicitly
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async function isTrapCachingEnabled(features, overlayDatabaseMode) {
|
async function isTrapCachingEnabled(features, overlayDatabaseMode) {
|
||||||
@@ -152007,7 +152008,7 @@ function hasQueryCustomisation(userConfig) {
|
|||||||
return isDefined2(userConfig["disable-default-queries"]) || isDefined2(userConfig.queries) || isDefined2(userConfig["query-filters"]);
|
return isDefined2(userConfig["disable-default-queries"]) || isDefined2(userConfig.queries) || isDefined2(userConfig["query-filters"]);
|
||||||
}
|
}
|
||||||
async function applyIncrementalAnalysisSettings(config, hasDiffRanges, codeql, logger) {
|
async function applyIncrementalAnalysisSettings(config, hasDiffRanges, codeql, logger) {
|
||||||
if (config.overlayDatabaseMode === "overlay" /* Overlay */ && !hasDiffRanges && !config.overlayModeSetExplicitly) {
|
if (config.overlayDatabaseMode === "overlay" /* Overlay */ && !hasDiffRanges) {
|
||||||
logger.info(
|
logger.info(
|
||||||
`Reverting overlay database mode to ${"none" /* None */} because the PR diff ranges could not be computed.`
|
`Reverting overlay database mode to ${"none" /* None */} because the PR diff ranges could not be computed.`
|
||||||
);
|
);
|
||||||
@@ -152115,17 +152116,12 @@ async function initConfig(features, inputs) {
|
|||||||
logger
|
logger
|
||||||
);
|
);
|
||||||
if (overlayDatabaseModeResult.isSuccess()) {
|
if (overlayDatabaseModeResult.isSuccess()) {
|
||||||
const {
|
const { overlayDatabaseMode, useOverlayDatabaseCaching } = overlayDatabaseModeResult.value;
|
||||||
overlayDatabaseMode,
|
|
||||||
useOverlayDatabaseCaching,
|
|
||||||
overlayModeSetExplicitly
|
|
||||||
} = overlayDatabaseModeResult.value;
|
|
||||||
logger.info(
|
logger.info(
|
||||||
`Using overlay database mode: ${overlayDatabaseMode} ${useOverlayDatabaseCaching ? "with" : "without"} caching.`
|
`Using overlay database mode: ${overlayDatabaseMode} ${useOverlayDatabaseCaching ? "with" : "without"} caching.`
|
||||||
);
|
);
|
||||||
config.overlayDatabaseMode = overlayDatabaseMode;
|
config.overlayDatabaseMode = overlayDatabaseMode;
|
||||||
config.useOverlayDatabaseCaching = useOverlayDatabaseCaching;
|
config.useOverlayDatabaseCaching = useOverlayDatabaseCaching;
|
||||||
config.overlayModeSetExplicitly = overlayModeSetExplicitly;
|
|
||||||
} else {
|
} else {
|
||||||
const overlayDisabledReason = overlayDatabaseModeResult.value;
|
const overlayDisabledReason = overlayDatabaseModeResult.value;
|
||||||
logger.info(
|
logger.info(
|
||||||
@@ -159357,6 +159353,9 @@ exec ${goBinaryPath} "$@"`
|
|||||||
if (await features.getValue("disable_kotlin_analysis_enabled" /* DisableKotlinAnalysisEnabled */)) {
|
if (await features.getValue("disable_kotlin_analysis_enabled" /* DisableKotlinAnalysisEnabled */)) {
|
||||||
core21.exportVariable("CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", "true");
|
core21.exportVariable("CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", "true");
|
||||||
}
|
}
|
||||||
|
if (await features.getValue("force_jgit" /* ForceJGit */)) {
|
||||||
|
core21.exportVariable("CODEQL_GIT_BACKEND", "jgit");
|
||||||
|
}
|
||||||
const kotlinLimitVar = "CODEQL_EXTRACTOR_KOTLIN_OVERRIDE_MAXIMUM_VERSION_LIMIT";
|
const kotlinLimitVar = "CODEQL_EXTRACTOR_KOTLIN_OVERRIDE_MAXIMUM_VERSION_LIMIT";
|
||||||
if (await codeQlVersionAtLeast(codeql, "2.20.3") && !await codeQlVersionAtLeast(codeql, "2.20.4")) {
|
if (await codeQlVersionAtLeast(codeql, "2.20.3") && !await codeQlVersionAtLeast(codeql, "2.20.4")) {
|
||||||
core21.exportVariable(kotlinLimitVar, "2.1.20");
|
core21.exportVariable(kotlinLimitVar, "2.1.20");
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "codeql",
|
"name": "codeql",
|
||||||
"version": "4.36.2",
|
"version": "4.36.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "codeql",
|
"name": "codeql",
|
||||||
"version": "4.36.2",
|
"version": "4.36.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"pr-checks"
|
"pr-checks"
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "codeql",
|
"name": "codeql",
|
||||||
"version": "4.36.2",
|
"version": "4.36.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "CodeQL action",
|
"description": "CodeQL action",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
+26
-70
@@ -1044,7 +1044,6 @@ const checkOverlayEnablementMacro = makeMacro({
|
|||||||
| {
|
| {
|
||||||
overlayDatabaseMode: OverlayDatabaseMode;
|
overlayDatabaseMode: OverlayDatabaseMode;
|
||||||
useOverlayDatabaseCaching: boolean;
|
useOverlayDatabaseCaching: boolean;
|
||||||
overlayModeSetExplicitly?: boolean;
|
|
||||||
}
|
}
|
||||||
| {
|
| {
|
||||||
disabledReason: OverlayDisabledReason;
|
disabledReason: OverlayDisabledReason;
|
||||||
@@ -1125,13 +1124,7 @@ const checkOverlayEnablementMacro = makeMacro({
|
|||||||
if ("disabledReason" in expected) {
|
if ("disabledReason" in expected) {
|
||||||
t.deepEqual(result, new Failure(expected.disabledReason));
|
t.deepEqual(result, new Failure(expected.disabledReason));
|
||||||
} else {
|
} else {
|
||||||
t.deepEqual(
|
t.deepEqual(result, new Success(expected));
|
||||||
result,
|
|
||||||
new Success({
|
|
||||||
overlayModeSetExplicitly: false,
|
|
||||||
...expected,
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
// Restore the original environment
|
// Restore the original environment
|
||||||
@@ -1150,7 +1143,6 @@ checkOverlayEnablementMacro.serial(
|
|||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||||
useOverlayDatabaseCaching: false,
|
useOverlayDatabaseCaching: false,
|
||||||
overlayModeSetExplicitly: true,
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1162,7 +1154,6 @@ checkOverlayEnablementMacro.serial(
|
|||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.OverlayBase,
|
overlayDatabaseMode: OverlayDatabaseMode.OverlayBase,
|
||||||
useOverlayDatabaseCaching: false,
|
useOverlayDatabaseCaching: false,
|
||||||
overlayModeSetExplicitly: true,
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1821,7 +1812,6 @@ checkOverlayEnablementMacro.serial(
|
|||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||||
useOverlayDatabaseCaching: false,
|
useOverlayDatabaseCaching: false,
|
||||||
overlayModeSetExplicitly: true,
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1834,7 +1824,6 @@ checkOverlayEnablementMacro.serial(
|
|||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||||
useOverlayDatabaseCaching: false,
|
useOverlayDatabaseCaching: false,
|
||||||
overlayModeSetExplicitly: true,
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1931,7 +1920,6 @@ checkOverlayEnablementMacro.serial(
|
|||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||||
useOverlayDatabaseCaching: false,
|
useOverlayDatabaseCaching: false,
|
||||||
overlayModeSetExplicitly: true,
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -1977,7 +1965,6 @@ checkOverlayEnablementMacro.serial(
|
|||||||
{
|
{
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||||
useOverlayDatabaseCaching: false,
|
useOverlayDatabaseCaching: false,
|
||||||
overlayModeSetExplicitly: true,
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -2195,64 +2182,33 @@ test("applyIncrementalAnalysisSettings: keeps overlay mode and adds exclusions w
|
|||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test.serial(
|
test("applyIncrementalAnalysisSettings: disables overlay analysis when diff ranges are unavailable", async (t) => {
|
||||||
"applyIncrementalAnalysisSettings: disables overlay analysis when diff ranges are unavailable",
|
const config = createTestConfig({
|
||||||
async (t) => {
|
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
||||||
const config = createTestConfig({
|
});
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
config.useOverlayDatabaseCaching = true;
|
||||||
});
|
const codeql = createStubCodeQL({});
|
||||||
config.useOverlayDatabaseCaching = true;
|
const logger = getRunnerLogger(true);
|
||||||
const codeql = createStubCodeQL({});
|
const addDiagnosticsStub = sinon
|
||||||
const logger = getRunnerLogger(true);
|
.stub(overlayDiagnostics, "addOverlayDisablementDiagnostics")
|
||||||
const addDiagnosticsStub = sinon
|
.resolves();
|
||||||
.stub(overlayDiagnostics, "addOverlayDisablementDiagnostics")
|
|
||||||
.resolves();
|
|
||||||
|
|
||||||
await configUtils.applyIncrementalAnalysisSettings(
|
await configUtils.applyIncrementalAnalysisSettings(
|
||||||
config,
|
config,
|
||||||
false,
|
false,
|
||||||
codeql,
|
codeql,
|
||||||
logger,
|
logger,
|
||||||
);
|
);
|
||||||
|
|
||||||
t.is(config.overlayDatabaseMode, OverlayDatabaseMode.None);
|
t.is(config.overlayDatabaseMode, OverlayDatabaseMode.None);
|
||||||
t.is(config.useOverlayDatabaseCaching, false);
|
t.is(config.useOverlayDatabaseCaching, false);
|
||||||
t.deepEqual(config.extraQueryExclusions, []);
|
t.deepEqual(config.extraQueryExclusions, []);
|
||||||
t.true(addDiagnosticsStub.calledOnce);
|
t.true(addDiagnosticsStub.calledOnce);
|
||||||
t.is(
|
t.is(
|
||||||
addDiagnosticsStub.firstCall.args[2],
|
addDiagnosticsStub.firstCall.args[2],
|
||||||
OverlayDisabledReason.DiffInformedAnalysisNotEnabled,
|
OverlayDisabledReason.DiffInformedAnalysisNotEnabled,
|
||||||
);
|
);
|
||||||
},
|
});
|
||||||
);
|
|
||||||
|
|
||||||
test.serial(
|
|
||||||
"applyIncrementalAnalysisSettings: keeps overlay mode when set explicitly and diff ranges are unavailable",
|
|
||||||
async (t) => {
|
|
||||||
const config = createTestConfig({
|
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.Overlay,
|
|
||||||
});
|
|
||||||
config.useOverlayDatabaseCaching = false;
|
|
||||||
config.overlayModeSetExplicitly = true;
|
|
||||||
const codeql = createStubCodeQL({});
|
|
||||||
const logger = getRunnerLogger(true);
|
|
||||||
const addDiagnosticsStub = sinon
|
|
||||||
.stub(overlayDiagnostics, "addOverlayDisablementDiagnostics")
|
|
||||||
.resolves();
|
|
||||||
|
|
||||||
await configUtils.applyIncrementalAnalysisSettings(
|
|
||||||
config,
|
|
||||||
false,
|
|
||||||
codeql,
|
|
||||||
logger,
|
|
||||||
);
|
|
||||||
|
|
||||||
t.is(config.overlayDatabaseMode, OverlayDatabaseMode.Overlay);
|
|
||||||
t.is(config.useOverlayDatabaseCaching, false);
|
|
||||||
t.deepEqual(config.extraQueryExclusions, []);
|
|
||||||
t.true(addDiagnosticsStub.notCalled);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
test("applyIncrementalAnalysisSettings: adds exclusions for diff-informed-only runs", async (t) => {
|
test("applyIncrementalAnalysisSettings: adds exclusions for diff-informed-only runs", async (t) => {
|
||||||
const config = createTestConfig({});
|
const config = createTestConfig({});
|
||||||
|
|||||||
+10
-26
@@ -243,11 +243,6 @@ export interface Config {
|
|||||||
*/
|
*/
|
||||||
useOverlayDatabaseCaching: boolean;
|
useOverlayDatabaseCaching: boolean;
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether the overlay database mode was set explicitly.
|
|
||||||
*/
|
|
||||||
overlayModeSetExplicitly: boolean;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A partial mapping from repository properties that affect us to their values.
|
* A partial mapping from repository properties that affect us to their values.
|
||||||
*/
|
*/
|
||||||
@@ -578,7 +573,6 @@ export async function initActionState(
|
|||||||
extraQueryExclusions: [],
|
extraQueryExclusions: [],
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||||
useOverlayDatabaseCaching: false,
|
useOverlayDatabaseCaching: false,
|
||||||
overlayModeSetExplicitly: false,
|
|
||||||
repositoryProperties,
|
repositoryProperties,
|
||||||
enableFileCoverageInformation,
|
enableFileCoverageInformation,
|
||||||
};
|
};
|
||||||
@@ -778,7 +772,6 @@ async function checkRunnerResources(
|
|||||||
interface EnabledOverlayConfig {
|
interface EnabledOverlayConfig {
|
||||||
overlayDatabaseMode: Exclude<OverlayDatabaseMode, OverlayDatabaseMode.None>;
|
overlayDatabaseMode: Exclude<OverlayDatabaseMode, OverlayDatabaseMode.None>;
|
||||||
useOverlayDatabaseCaching: boolean;
|
useOverlayDatabaseCaching: boolean;
|
||||||
overlayModeSetExplicitly: boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -833,7 +826,6 @@ export async function checkOverlayEnablement(
|
|||||||
return validateOverlayDatabaseMode(
|
return validateOverlayDatabaseMode(
|
||||||
modeEnv,
|
modeEnv,
|
||||||
false,
|
false,
|
||||||
true,
|
|
||||||
codeql,
|
codeql,
|
||||||
languages,
|
languages,
|
||||||
sourceRoot,
|
sourceRoot,
|
||||||
@@ -925,7 +917,6 @@ export async function checkOverlayEnablement(
|
|||||||
return validateOverlayDatabaseMode(
|
return validateOverlayDatabaseMode(
|
||||||
overlayDatabaseMode,
|
overlayDatabaseMode,
|
||||||
true,
|
true,
|
||||||
false,
|
|
||||||
codeql,
|
codeql,
|
||||||
languages,
|
languages,
|
||||||
sourceRoot,
|
sourceRoot,
|
||||||
@@ -944,7 +935,6 @@ export async function checkOverlayEnablement(
|
|||||||
async function validateOverlayDatabaseMode(
|
async function validateOverlayDatabaseMode(
|
||||||
overlayDatabaseMode: Exclude<OverlayDatabaseMode, OverlayDatabaseMode.None>,
|
overlayDatabaseMode: Exclude<OverlayDatabaseMode, OverlayDatabaseMode.None>,
|
||||||
useOverlayDatabaseCaching: boolean,
|
useOverlayDatabaseCaching: boolean,
|
||||||
overlayModeSetExplicitly: boolean,
|
|
||||||
codeql: CodeQL,
|
codeql: CodeQL,
|
||||||
languages: Language[],
|
languages: Language[],
|
||||||
sourceRoot: string,
|
sourceRoot: string,
|
||||||
@@ -1016,7 +1006,6 @@ async function validateOverlayDatabaseMode(
|
|||||||
return new Success({
|
return new Success({
|
||||||
overlayDatabaseMode,
|
overlayDatabaseMode,
|
||||||
useOverlayDatabaseCaching,
|
useOverlayDatabaseCaching,
|
||||||
overlayModeSetExplicitly,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1091,14 +1080,14 @@ function hasQueryCustomisation(userConfig: UserConfig): boolean {
|
|||||||
/**
|
/**
|
||||||
* Finalize the incremental-analysis configuration for this run.
|
* Finalize the incremental-analysis configuration for this run.
|
||||||
*
|
*
|
||||||
* Overlay analysis has only been validated in combination with diff-informed analysis, so if
|
* Overlay analysis has only been validated in combination with diff-informed
|
||||||
* `Overlay` mode was selected for a pull request but the diff ranges could not be computed, fall
|
* analysis, so if `Overlay` mode was selected for a pull request but the diff
|
||||||
* back to a full non-overlay analysis. If the overlay mode was set explicitly, this fallback does
|
* ranges could not be computed, fall back to a full non-overlay analysis.
|
||||||
* not apply.
|
|
||||||
*
|
*
|
||||||
* Query exclusions for incremental-only queries are then applied whenever the diff ranges are
|
* Query exclusions for incremental-only queries are then applied whenever the
|
||||||
* available — which, after the fallback above, is exactly the set of runs where any kind of
|
* diff ranges are available — which, after the fallback above, is exactly the
|
||||||
* incremental analysis (overlay or diff-informed) is in effect.
|
* set of runs where any kind of incremental analysis (overlay or
|
||||||
|
* diff-informed) is in effect.
|
||||||
*/
|
*/
|
||||||
export async function applyIncrementalAnalysisSettings(
|
export async function applyIncrementalAnalysisSettings(
|
||||||
config: Config,
|
config: Config,
|
||||||
@@ -1108,8 +1097,7 @@ export async function applyIncrementalAnalysisSettings(
|
|||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
if (
|
if (
|
||||||
config.overlayDatabaseMode === OverlayDatabaseMode.Overlay &&
|
config.overlayDatabaseMode === OverlayDatabaseMode.Overlay &&
|
||||||
!hasDiffRanges &&
|
!hasDiffRanges
|
||||||
!config.overlayModeSetExplicitly
|
|
||||||
) {
|
) {
|
||||||
logger.info(
|
logger.info(
|
||||||
`Reverting overlay database mode to ${OverlayDatabaseMode.None} ` +
|
`Reverting overlay database mode to ${OverlayDatabaseMode.None} ` +
|
||||||
@@ -1263,18 +1251,14 @@ export async function initConfig(
|
|||||||
logger,
|
logger,
|
||||||
);
|
);
|
||||||
if (overlayDatabaseModeResult.isSuccess()) {
|
if (overlayDatabaseModeResult.isSuccess()) {
|
||||||
const {
|
const { overlayDatabaseMode, useOverlayDatabaseCaching } =
|
||||||
overlayDatabaseMode,
|
overlayDatabaseModeResult.value;
|
||||||
useOverlayDatabaseCaching,
|
|
||||||
overlayModeSetExplicitly,
|
|
||||||
} = overlayDatabaseModeResult.value;
|
|
||||||
logger.info(
|
logger.info(
|
||||||
`Using overlay database mode: ${overlayDatabaseMode} ` +
|
`Using overlay database mode: ${overlayDatabaseMode} ` +
|
||||||
`${useOverlayDatabaseCaching ? "with" : "without"} caching.`,
|
`${useOverlayDatabaseCaching ? "with" : "without"} caching.`,
|
||||||
);
|
);
|
||||||
config.overlayDatabaseMode = overlayDatabaseMode;
|
config.overlayDatabaseMode = overlayDatabaseMode;
|
||||||
config.useOverlayDatabaseCaching = useOverlayDatabaseCaching;
|
config.useOverlayDatabaseCaching = useOverlayDatabaseCaching;
|
||||||
config.overlayModeSetExplicitly = overlayModeSetExplicitly;
|
|
||||||
} else {
|
} else {
|
||||||
const overlayDisabledReason = overlayDatabaseModeResult.value;
|
const overlayDisabledReason = overlayDatabaseModeResult.value;
|
||||||
logger.info(
|
logger.info(
|
||||||
|
|||||||
@@ -82,6 +82,11 @@ export enum Feature {
|
|||||||
DisableJavaBuildlessEnabled = "disable_java_buildless_enabled",
|
DisableJavaBuildlessEnabled = "disable_java_buildless_enabled",
|
||||||
DisableKotlinAnalysisEnabled = "disable_kotlin_analysis_enabled",
|
DisableKotlinAnalysisEnabled = "disable_kotlin_analysis_enabled",
|
||||||
ExportDiagnosticsEnabled = "export_diagnostics_enabled",
|
ExportDiagnosticsEnabled = "export_diagnostics_enabled",
|
||||||
|
/**
|
||||||
|
* Emergency override that forces the CodeQL CLI to use the JGit-based Git backend instead of its
|
||||||
|
* default backend selection.
|
||||||
|
*/
|
||||||
|
ForceJGit = "force_jgit",
|
||||||
ForceNightly = "force_nightly",
|
ForceNightly = "force_nightly",
|
||||||
IgnoreGeneratedFiles = "ignore_generated_files",
|
IgnoreGeneratedFiles = "ignore_generated_files",
|
||||||
JavaNetworkDebugging = "java_network_debugging",
|
JavaNetworkDebugging = "java_network_debugging",
|
||||||
@@ -224,6 +229,11 @@ export const featureConfig = {
|
|||||||
legacyApi: true,
|
legacyApi: true,
|
||||||
minimumVersion: undefined,
|
minimumVersion: undefined,
|
||||||
},
|
},
|
||||||
|
[Feature.ForceJGit]: {
|
||||||
|
defaultValue: false,
|
||||||
|
envVar: "CODEQL_ACTION_FORCE_JGIT",
|
||||||
|
minimumVersion: undefined,
|
||||||
|
},
|
||||||
[Feature.ForceNightly]: {
|
[Feature.ForceNightly]: {
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
envVar: "CODEQL_ACTION_FORCE_NIGHTLY",
|
envVar: "CODEQL_ACTION_FORCE_NIGHTLY",
|
||||||
|
|||||||
@@ -614,6 +614,11 @@ async function run(startedAt: Date) {
|
|||||||
core.exportVariable("CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", "true");
|
core.exportVariable("CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", "true");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Emergency override to force the CodeQL CLI back to the JGit-based Git backend.
|
||||||
|
if (await features.getValue(Feature.ForceJGit)) {
|
||||||
|
core.exportVariable("CODEQL_GIT_BACKEND", "jgit");
|
||||||
|
}
|
||||||
|
|
||||||
const kotlinLimitVar =
|
const kotlinLimitVar =
|
||||||
"CODEQL_EXTRACTOR_KOTLIN_OVERRIDE_MAXIMUM_VERSION_LIMIT";
|
"CODEQL_EXTRACTOR_KOTLIN_OVERRIDE_MAXIMUM_VERSION_LIMIT";
|
||||||
if (
|
if (
|
||||||
|
|||||||
@@ -585,7 +585,6 @@ export function createTestConfig(overrides: Partial<Config>): Config {
|
|||||||
extraQueryExclusions: [],
|
extraQueryExclusions: [],
|
||||||
overlayDatabaseMode: OverlayDatabaseMode.None,
|
overlayDatabaseMode: OverlayDatabaseMode.None,
|
||||||
useOverlayDatabaseCaching: false,
|
useOverlayDatabaseCaching: false,
|
||||||
overlayModeSetExplicitly: false,
|
|
||||||
repositoryProperties: {},
|
repositoryProperties: {},
|
||||||
enableFileCoverageInformation: true,
|
enableFileCoverageInformation: true,
|
||||||
} satisfies Config,
|
} satisfies Config,
|
||||||
|
|||||||
Reference in New Issue
Block a user