Merge pull request #1836 from github/henrymercer/analysis-summary-v2-ff

Enable language specific baselines via feature flag
This commit is contained in:
Henry Mercer 2023-08-14 12:57:51 +01:00 committed by GitHub
commit 492a68c323
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 35 additions and 3 deletions

View file

@ -7,6 +7,7 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th
- Log a warning if the amount of available disk space runs low during a code scanning run. [#1825](https://github.com/github/codeql-action/pull/1825)
- When downloading CodeQL bundle version 2.13.4 and later, cache these bundles in the Actions tool cache using a simpler version number. [#1832](https://github.com/github/codeql-action/pull/1832)
- Fix an issue that first appeared in CodeQL Action v2.21.2 that prevented CodeQL invocations from being logged. [#1833](https://github.com/github/codeql-action/pull/1833)
- We are rolling out a feature in August 2023 that will improve the quality of file coverage information. [#1835](https://github.com/github/codeql-action/pull/1835)
## 2.21.3 - 08 Aug 2023

3
lib/codeql.js generated
View file

@ -278,6 +278,9 @@ async function getCodeQLForCmd(cmd, checkVersion) {
(await util.codeQlVersionAbove(this, exports.CODEQL_VERSION_INIT_WITH_QLCONFIG))) {
extraArgs.push(`--qlconfig-file=${qlconfigFile}`);
}
if (await features.getValue(feature_flags_1.Feature.LanguageBaselineConfigEnabled, this)) {
extraArgs.push("--calculate-language-specific-baseline");
}
await runTool(cmd, [
"database",
"init",

File diff suppressed because one or more lines are too long

12
lib/feature-flags.js generated
View file

@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.logCodeScanningConfigInCli = exports.useCodeScanningConfigInCli = exports.Features = exports.FEATURE_FLAGS_FILE_NAME = exports.featureConfig = exports.Feature = exports.CODEQL_VERSION_INTRA_LAYER_PARALLELISM = exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2 = exports.CODEQL_VERSION_BUNDLE_SEMANTICALLY_VERSIONED = void 0;
exports.logCodeScanningConfigInCli = exports.useCodeScanningConfigInCli = exports.Features = exports.FEATURE_FLAGS_FILE_NAME = exports.featureConfig = exports.Feature = exports.CODEQL_VERSION_LANGUAGE_BASELINE_CONFIG = exports.CODEQL_VERSION_INTRA_LAYER_PARALLELISM = exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2 = exports.CODEQL_VERSION_BUNDLE_SEMANTICALLY_VERSIONED = void 0;
const fs = __importStar(require("fs"));
const path = __importStar(require("path"));
const semver = __importStar(require("semver"));
@ -44,6 +44,10 @@ exports.CODEQL_VERSION_ANALYSIS_SUMMARY_V2 = "2.14.0";
* Versions 2.14.0+ of the CodeQL CLI support intra-layer parallelism (aka fine-grained parallelism) options.
*/
exports.CODEQL_VERSION_INTRA_LAYER_PARALLELISM = "2.14.0";
/**
* Versions 2.14.2+ of the CodeQL CLI support language-specific baseline configuration.
*/
exports.CODEQL_VERSION_LANGUAGE_BASELINE_CONFIG = "2.14.2";
/**
* Feature enablement as returned by the GitHub API endpoint.
*
@ -58,6 +62,7 @@ var Feature;
Feature["DisablePythonDependencyInstallationEnabled"] = "disable_python_dependency_installation_enabled";
Feature["EvaluatorIntraLayerParallelismEnabled"] = "evaluator_intra_layer_parallelism_enabled";
Feature["ExportDiagnosticsEnabled"] = "export_diagnostics_enabled";
Feature["LanguageBaselineConfigEnabled"] = "language_baseline_config_enabled";
Feature["MlPoweredQueriesEnabled"] = "ml_powered_queries_enabled";
Feature["QaTelemetryEnabled"] = "qa_telemetry_enabled";
Feature["ScalingReservedRamEnabled"] = "scaling_reserved_ram_enabled";
@ -94,6 +99,11 @@ exports.featureConfig = {
minimumVersion: "2.12.4",
defaultValue: true,
},
[Feature.LanguageBaselineConfigEnabled]: {
envVar: "CODEQL_ACTION_LANGUAGE_BASELINE_CONFIG",
minimumVersion: exports.CODEQL_VERSION_LANGUAGE_BASELINE_CONFIG,
defaultValue: false,
},
[Feature.MlPoweredQueriesEnabled]: {
envVar: "CODEQL_ML_POWERED_QUERIES",
minimumVersion: undefined,

File diff suppressed because one or more lines are too long

View file

@ -574,6 +574,13 @@ export async function getCodeQLForCmd(
) {
extraArgs.push(`--qlconfig-file=${qlconfigFile}`);
}
if (
await features.getValue(Feature.LanguageBaselineConfigEnabled, this)
) {
extraArgs.push("--calculate-language-specific-baseline");
}
await runTool(
cmd,
[

View file

@ -28,6 +28,11 @@ export const CODEQL_VERSION_ANALYSIS_SUMMARY_V2 = "2.14.0";
*/
export const CODEQL_VERSION_INTRA_LAYER_PARALLELISM = "2.14.0";
/**
* Versions 2.14.2+ of the CodeQL CLI support language-specific baseline configuration.
*/
export const CODEQL_VERSION_LANGUAGE_BASELINE_CONFIG = "2.14.2";
export interface CodeQLDefaultVersionInfo {
cliVersion: string;
tagName: string;
@ -55,6 +60,7 @@ export enum Feature {
DisablePythonDependencyInstallationEnabled = "disable_python_dependency_installation_enabled",
EvaluatorIntraLayerParallelismEnabled = "evaluator_intra_layer_parallelism_enabled",
ExportDiagnosticsEnabled = "export_diagnostics_enabled",
LanguageBaselineConfigEnabled = "language_baseline_config_enabled",
MlPoweredQueriesEnabled = "ml_powered_queries_enabled",
QaTelemetryEnabled = "qa_telemetry_enabled",
ScalingReservedRamEnabled = "scaling_reserved_ram_enabled",
@ -95,6 +101,11 @@ export const featureConfig: Record<
minimumVersion: "2.12.4",
defaultValue: true,
},
[Feature.LanguageBaselineConfigEnabled]: {
envVar: "CODEQL_ACTION_LANGUAGE_BASELINE_CONFIG",
minimumVersion: CODEQL_VERSION_LANGUAGE_BASELINE_CONFIG,
defaultValue: false,
},
[Feature.MlPoweredQueriesEnabled]: {
envVar: "CODEQL_ML_POWERED_QUERIES",
minimumVersion: undefined,