Fix scaling reserved RAM feature flag naming
This commit is contained in:
parent
da4e0a06c0
commit
27d3b2f857
12 changed files with 36 additions and 12 deletions
9
lib/feature-flags.js
generated
9
lib/feature-flags.js
generated
|
|
@ -33,6 +33,11 @@ const defaults = __importStar(require("./defaults.json"));
|
|||
const util = __importStar(require("./util"));
|
||||
const DEFAULT_VERSION_FEATURE_FLAG_PREFIX = "default_codeql_version_";
|
||||
const DEFAULT_VERSION_FEATURE_FLAG_SUFFIX = "_enabled";
|
||||
/**
|
||||
* MapsFeature enablement as returned by the GitHub API endpoint.
|
||||
*
|
||||
* Each value of this enum should end with `_enabled`.
|
||||
*/
|
||||
var Feature;
|
||||
(function (Feature) {
|
||||
Feature["CliConfigFileEnabled"] = "cli_config_file_enabled";
|
||||
|
|
@ -42,7 +47,7 @@ var Feature;
|
|||
Feature["MlPoweredQueriesEnabled"] = "ml_powered_queries_enabled";
|
||||
Feature["NewAnalysisSummaryEnabled"] = "new_analysis_summary_enabled";
|
||||
Feature["QaTelemetryEnabled"] = "qa_telemetry_enabled";
|
||||
Feature["ScalingReservedRam"] = "scaling_reserved_ram";
|
||||
Feature["ScalingReservedRamEnabled"] = "scaling_reserved_ram_enabled";
|
||||
Feature["UploadFailedSarifEnabled"] = "upload_failed_sarif_enabled";
|
||||
})(Feature || (exports.Feature = Feature = {}));
|
||||
exports.featureConfig = {
|
||||
|
|
@ -76,7 +81,7 @@ exports.featureConfig = {
|
|||
minimumVersion: undefined,
|
||||
defaultValue: false,
|
||||
},
|
||||
[Feature.ScalingReservedRam]: {
|
||||
[Feature.ScalingReservedRamEnabled]: {
|
||||
envVar: "CODEQL_ACTION_SCALING_RESERVED_RAM",
|
||||
minimumVersion: undefined,
|
||||
defaultValue: false,
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
5
lib/feature-flags.test.js
generated
5
lib/feature-flags.test.js
generated
|
|
@ -309,6 +309,11 @@ for (const variant of [util_1.GitHubVariant.GHAE, util_1.GitHubVariant.GHES]) {
|
|||
"Ignoring feature flag default_codeql_version_2_20_invalid_enabled as it does not specify a valid CodeQL version.") !== undefined);
|
||||
});
|
||||
});
|
||||
(0, ava_1.default)("feature flags should end with _enabled", async (t) => {
|
||||
for (const feature of Object.values(feature_flags_1.Feature)) {
|
||||
t.assert(feature.endsWith("_enabled"), `${feature} should end with '_enabled'`);
|
||||
}
|
||||
});
|
||||
function assertAllFeaturesUndefinedInApi(t, loggedMessages) {
|
||||
for (const feature of Object.keys(feature_flags_1.featureConfig)) {
|
||||
t.assert(loggedMessages.find((v) => v.type === "debug" &&
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
2
lib/util.js
generated
2
lib/util.js
generated
|
|
@ -111,7 +111,7 @@ exports.withTmpDir = withTmpDir;
|
|||
async function getSystemReservedMemoryMegaBytes(totalMemoryMegaBytes, features) {
|
||||
// Windows needs more memory for OS processes.
|
||||
const fixedAmount = 1024 * (process.platform === "win32" ? 1.5 : 1);
|
||||
if (await features.getValue(feature_flags_1.Feature.ScalingReservedRam)) {
|
||||
if (await features.getValue(feature_flags_1.Feature.ScalingReservedRamEnabled)) {
|
||||
// Reserve an additional 2% of the total memory, since the amount used by
|
||||
// the kernel for page tables scales with the size of physical memory.
|
||||
const scaledAmount = 0.02 * totalMemoryMegaBytes;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
2
lib/util.test.js
generated
2
lib/util.test.js
generated
|
|
@ -57,7 +57,7 @@ const util = __importStar(require("./util"));
|
|||
["", true, `--ram=${expectedMemoryValueWithScaling}`],
|
||||
];
|
||||
for (const [input, withScaling, expectedFlag] of tests) {
|
||||
const features = (0, testing_utils_1.createFeatures)(withScaling ? [feature_flags_1.Feature.ScalingReservedRam] : []);
|
||||
const features = (0, testing_utils_1.createFeatures)(withScaling ? [feature_flags_1.Feature.ScalingReservedRamEnabled] : []);
|
||||
const flag = await util.getMemoryFlag(input, features);
|
||||
t.deepEqual(flag, expectedFlag);
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -482,6 +482,15 @@ test("ignores invalid version numbers in default version feature flags", async (
|
|||
});
|
||||
});
|
||||
|
||||
test("feature flags should end with _enabled", async (t) => {
|
||||
for (const feature of Object.values(Feature)) {
|
||||
t.assert(
|
||||
feature.endsWith("_enabled"),
|
||||
`${feature} should end with '_enabled'`
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
function assertAllFeaturesUndefinedInApi(
|
||||
t: ExecutionContext<unknown>,
|
||||
loggedMessages: LoggedMessage[]
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ export interface FeatureEnablement {
|
|||
getValue(feature: Feature, codeql?: CodeQL): Promise<boolean>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Feature enablement as returned by the GitHub API endpoint.
|
||||
*
|
||||
* Each value of this enum should end with `_enabled`.
|
||||
*/
|
||||
export enum Feature {
|
||||
CliConfigFileEnabled = "cli_config_file_enabled",
|
||||
DisableKotlinAnalysisEnabled = "disable_kotlin_analysis_enabled",
|
||||
|
|
@ -39,7 +44,7 @@ export enum Feature {
|
|||
MlPoweredQueriesEnabled = "ml_powered_queries_enabled",
|
||||
NewAnalysisSummaryEnabled = "new_analysis_summary_enabled",
|
||||
QaTelemetryEnabled = "qa_telemetry_enabled",
|
||||
ScalingReservedRam = "scaling_reserved_ram",
|
||||
ScalingReservedRamEnabled = "scaling_reserved_ram_enabled",
|
||||
UploadFailedSarifEnabled = "upload_failed_sarif_enabled",
|
||||
}
|
||||
|
||||
|
|
@ -77,7 +82,7 @@ export const featureConfig: Record<
|
|||
minimumVersion: undefined,
|
||||
defaultValue: false,
|
||||
},
|
||||
[Feature.ScalingReservedRam]: {
|
||||
[Feature.ScalingReservedRamEnabled]: {
|
||||
envVar: "CODEQL_ACTION_SCALING_RESERVED_RAM",
|
||||
minimumVersion: undefined,
|
||||
defaultValue: false,
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ test("getMemoryFlag() should return the correct --ram flag", async (t) => {
|
|||
|
||||
for (const [input, withScaling, expectedFlag] of tests) {
|
||||
const features = createFeatures(
|
||||
withScaling ? [Feature.ScalingReservedRam] : []
|
||||
withScaling ? [Feature.ScalingReservedRamEnabled] : []
|
||||
);
|
||||
const flag = await util.getMemoryFlag(input, features);
|
||||
t.deepEqual(flag, expectedFlag);
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ async function getSystemReservedMemoryMegaBytes(
|
|||
// Windows needs more memory for OS processes.
|
||||
const fixedAmount = 1024 * (process.platform === "win32" ? 1.5 : 1);
|
||||
|
||||
if (await features.getValue(Feature.ScalingReservedRam)) {
|
||||
if (await features.getValue(Feature.ScalingReservedRamEnabled)) {
|
||||
// Reserve an additional 2% of the total memory, since the amount used by
|
||||
// the kernel for page tables scales with the size of physical memory.
|
||||
const scaledAmount = 0.02 * totalMemoryMegaBytes;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue