C++: Handle codeql_action_cpp_build_mode_none feature flag

This commit is contained in:
Calum Grant 2024-10-24 16:46:58 +01:00
parent 467d7e6d9e
commit 0d2a78f583
6 changed files with 37 additions and 20 deletions

View file

@ -50,8 +50,7 @@ export interface FeatureEnablement {
export enum Feature {
ArtifactV4Upgrade = "artifact_v4_upgrade",
CleanupTrapCaches = "cleanup_trap_caches",
CppBuildModeNoneDisabled = "cpp_build_mode_none_disabled",
CppBuildModeNoneEnabled = "cpp_build_mode_none",
CppBuildModeNone = "cpp_build_mode_none",
CppDependencyInstallation = "cpp_dependency_installation_enabled",
DiffInformedQueries = "diff_informed_queries",
DisableCsharpBuildless = "disable_csharp_buildless",
@ -105,14 +104,9 @@ export const featureConfig: Record<
envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
minimumVersion: undefined,
},
[Feature.CppBuildModeNoneDisabled]: {
[Feature.CppBuildModeNone]: {
defaultValue: false,
envVar: "CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE_DISABLED",
minimumVersion: undefined,
},
[Feature.CppBuildModeNoneEnabled]: {
defaultValue: false,
envVar: "CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE_ENABLED",
envVar: "CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE",
minimumVersion: undefined,
},
[Feature.CppDependencyInstallation]: {

View file

@ -546,6 +546,20 @@ async function run() {
}
}
// Set CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE
if (config.languages.includes(Language.cpp)) {
const bmn_var = "CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE";
if (process.env[bmn_var]) {
logger.info("CODEQL_EXTRACTOR_CPP_BUILD_MODE_NONE is already set");
} else if (await features.getValue(Feature.CppBuildModeNone, codeql)) {
logger.info("Enabling C++ build-mode: none");
core.exportVariable(bmn_var, "true");
} else {
logger.info("Disabling C++ build-mode: none");
core.exportVariable(bmn_var, "false");
}
}
// For CLI versions <2.15.1, build tracing caused errors in MacOS ARM machines with
// System Integrity Protection (SIP) disabled.
if (