From f232722edfac4e27e91bb42fc77dc8dd727c306c Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Fri, 7 Jul 2023 12:13:57 +0100 Subject: [PATCH 1/3] Respect scaling_reserved_ram feature flag The amount of RAM given to the CodeQL evaluator is the machine's total memory size, minus a reserved amount. Currently, the reserved amount is fixed at 1 GB (or 1.5 GB on Windows). When the scaling_reserved_ram feature flag is enabled, we also add 2% of the total memory size to the reserved amount. This allows for the fact that the kernel will consume more RAM (e.g. for page tables) on machines with more physical RAM. --- lib/analyze-action.js | 2 +- lib/analyze-action.js.map | 2 +- lib/feature-flags.js | 6 ++++++ lib/feature-flags.js.map | 2 +- lib/init-action.js | 2 +- lib/init-action.js.map | 2 +- lib/util.js | 22 ++++++++++++++------ lib/util.js.map | 2 +- lib/util.test.js | 27 +++++++++++++++---------- lib/util.test.js.map | 2 +- src/analyze-action.ts | 8 +++++--- src/feature-flags.ts | 6 ++++++ src/init-action.ts | 2 +- src/util.test.ts | 42 ++++++++++++++++++++++++++++----------- src/util.ts | 34 +++++++++++++++++++++++++------ 15 files changed, 116 insertions(+), 45 deletions(-) diff --git a/lib/analyze-action.js b/lib/analyze-action.js index a74372e881..3eb39a4bcd 100644 --- a/lib/analyze-action.js +++ b/lib/analyze-action.js @@ -158,10 +158,10 @@ async function run() { const apiDetails = (0, api_client_1.getApiDetails)(); const outputDir = actionsUtil.getRequiredInput("output"); const threads = util.getThreadsFlag(actionsUtil.getOptionalInput("threads") || process.env["CODEQL_THREADS"], logger); - const memory = util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"]); const repositoryNwo = (0, repository_1.parseRepositoryNwo)(util.getRequiredEnvParam("GITHUB_REPOSITORY")); const gitHubVersion = await (0, api_client_1.getGitHubVersion)(); const features = new feature_flags_1.Features(gitHubVersion, repositoryNwo, actionsUtil.getTemporaryDirectory(), logger); + const memory = await util.getMemoryFlag(actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"], features); await runAutobuildIfLegacyGoWorkflow(config, logger); dbCreationTimings = await (0, analyze_1.runFinalize)(outputDir, threads, memory, config, logger, features); if (actionsUtil.getRequiredInput("skip-queries") !== "true") { diff --git a/lib/analyze-action.js.map b/lib/analyze-action.js.map index fe312b80d2..d91808b8a7 100644 --- a/lib/analyze-action.js.map +++ b/lib/analyze-action.js.map @@ -1 +1 @@ -{"version":3,"file":"analyze-action.js","sourceRoot":"","sources":["../src/analyze-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"analyze-action.js","sourceRoot":"","sources":["../src/analyze-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/feature-flags.js b/lib/feature-flags.js index 4c75f81b05..6ce693879b 100644 --- a/lib/feature-flags.js +++ b/lib/feature-flags.js @@ -42,6 +42,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["UploadFailedSarifEnabled"] = "upload_failed_sarif_enabled"; })(Feature = exports.Feature || (exports.Feature = {})); exports.featureConfig = { @@ -75,6 +76,11 @@ exports.featureConfig = { minimumVersion: undefined, defaultValue: false, }, + [Feature.ScalingReservedRam]: { + envVar: "CODEQL_ACTION_SCALING_RESERVED_RAM", + minimumVersion: undefined, + defaultValue: false, + }, [Feature.UploadFailedSarifEnabled]: { envVar: "CODEQL_ACTION_UPLOAD_FAILED_SARIF", minimumVersion: "2.11.3", diff --git a/lib/feature-flags.js.map b/lib/feature-flags.js.map index 3f735f5fdc..48d0216875 100644 --- a/lib/feature-flags.js.map +++ b/lib/feature-flags.js.map @@ -1 +1 @@ -{"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../src/feature-flags.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../src/feature-flags.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/init-action.js b/lib/init-action.js index b01032c56f..00a85d515f 100644 --- a/lib/init-action.js +++ b/lib/init-action.js @@ -170,7 +170,7 @@ async function run() { // options at https://codeql.github.com/docs/codeql-cli/manual/database-trace-command/ // for details. core.exportVariable("CODEQL_RAM", process.env["CODEQL_RAM"] || - (0, util_1.getMemoryFlagValue)((0, actions_util_1.getOptionalInput)("ram")).toString()); + (await (0, util_1.getMemoryFlagValue)((0, actions_util_1.getOptionalInput)("ram"), features)).toString()); core.exportVariable("CODEQL_THREADS", (0, util_1.getThreadsFlagValue)((0, actions_util_1.getOptionalInput)("threads"), logger).toString()); // Disable Kotlin extractor if feature flag set if (await features.getValue(feature_flags_1.Feature.DisableKotlinAnalysisEnabled)) { diff --git a/lib/init-action.js.map b/lib/init-action.js.map index 01ef9cac04..c537a9d28b 100644 --- a/lib/init-action.js.map +++ b/lib/init-action.js.map @@ -1 +1 @@ -{"version":3,"file":"init-action.js","sourceRoot":"","sources":["../src/init-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"init-action.js","sourceRoot":"","sources":["../src/init-action.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/util.js b/lib/util.js index e805bf7f72..507bee1fbb 100644 --- a/lib/util.js +++ b/lib/util.js @@ -108,9 +108,18 @@ exports.withTmpDir = withTmpDir; * from committing too much of the available memory to CodeQL. * @returns number */ -function getSystemReservedMemoryMegaBytes() { +async function getSystemReservedMemoryMegaBytes(totalMemoryMegaBytes, features) { // Windows needs more memory for OS processes. - return 1024 * (process.platform === "win32" ? 1.5 : 1); + const fixedAmount = 1024 * (process.platform === "win32" ? 1.5 : 1); + if (await features.getValue(feature_flags_1.Feature.ScalingReservedRam)) { + // 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; + return fixedAmount + scaledAmount; + } + else { + return fixedAmount; + } } /** * Get the value of the codeql `--ram` flag as configured by the `ram` input. @@ -119,7 +128,7 @@ function getSystemReservedMemoryMegaBytes() { * * @returns {number} the amount of RAM to use, in megabytes */ -function getMemoryFlagValue(userInput) { +async function getMemoryFlagValue(userInput, features) { let memoryToUseMegaBytes; if (userInput) { memoryToUseMegaBytes = Number(userInput); @@ -130,7 +139,7 @@ function getMemoryFlagValue(userInput) { else { const totalMemoryBytes = os.totalmem(); const totalMemoryMegaBytes = totalMemoryBytes / (1024 * 1024); - const reservedMemoryMegaBytes = getSystemReservedMemoryMegaBytes(); + const reservedMemoryMegaBytes = await getSystemReservedMemoryMegaBytes(totalMemoryMegaBytes, features); memoryToUseMegaBytes = totalMemoryMegaBytes - reservedMemoryMegaBytes; } return Math.floor(memoryToUseMegaBytes); @@ -143,8 +152,9 @@ exports.getMemoryFlagValue = getMemoryFlagValue; * * @returns string */ -function getMemoryFlag(userInput) { - return `--ram=${getMemoryFlagValue(userInput)}`; +async function getMemoryFlag(userInput, features) { + const megabytes = await getMemoryFlagValue(userInput, features); + return `--ram=${megabytes}`; } exports.getMemoryFlag = getMemoryFlag; /** diff --git a/lib/util.js.map b/lib/util.js.map index c2d8b81c6d..55d975e8ae 100644 --- a/lib/util.js.map +++ b/lib/util.js.map @@ -1 +1 @@ -{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/util.test.js b/lib/util.test.js index c993f2d7a3..a24e373889 100644 --- a/lib/util.test.js +++ b/lib/util.test.js @@ -33,6 +33,7 @@ const github = __importStar(require("@actions/github")); const ava_1 = __importDefault(require("ava")); const sinon = __importStar(require("sinon")); const api = __importStar(require("./api-client")); +const feature_flags_1 = require("./feature-flags"); const logging_1 = require("./logging"); const testing_utils_1 = require("./testing-utils"); const util = __importStar(require("./util")); @@ -42,22 +43,28 @@ const util = __importStar(require("./util")); const toolNames = util.getToolNames(JSON.parse(input)); t.deepEqual(toolNames, ["CodeQL command-line toolchain", "ESLint"]); }); -(0, ava_1.default)("getMemoryFlag() should return the correct --ram flag", (t) => { - const totalMem = Math.floor(os.totalmem() / (1024 * 1024)); - const expectedThreshold = process.platform === "win32" ? 1536 : 1024; +(0, ava_1.default)("getMemoryFlag() should return the correct --ram flag", async (t) => { + const totalMem = os.totalmem() / (1024 * 1024); + const fixedAmount = process.platform === "win32" ? 1536 : 1024; + const scaledAmount = 0.02 * totalMem; + const expectedMemoryValue = Math.floor(totalMem - fixedAmount); + const expectedMemoryValueWithScaling = Math.floor(totalMem - fixedAmount - scaledAmount); const tests = [ - [undefined, `--ram=${totalMem - expectedThreshold}`], - ["", `--ram=${totalMem - expectedThreshold}`], - ["512", "--ram=512"], + [undefined, false, `--ram=${expectedMemoryValue}`], + ["", false, `--ram=${expectedMemoryValue}`], + ["512", false, "--ram=512"], + [undefined, true, `--ram=${expectedMemoryValueWithScaling}`], + ["", true, `--ram=${expectedMemoryValueWithScaling}`], ]; - for (const [input, expectedFlag] of tests) { - const flag = util.getMemoryFlag(input); + for (const [input, withScaling, expectedFlag] of tests) { + const features = (0, testing_utils_1.createFeatures)(withScaling ? [feature_flags_1.Feature.ScalingReservedRam] : []); + const flag = await util.getMemoryFlag(input, features); t.deepEqual(flag, expectedFlag); } }); -(0, ava_1.default)("getMemoryFlag() throws if the ram input is < 0 or NaN", (t) => { +(0, ava_1.default)("getMemoryFlag() throws if the ram input is < 0 or NaN", async (t) => { for (const input of ["-1", "hello!"]) { - t.throws(() => util.getMemoryFlag(input)); + await t.throwsAsync(async () => await util.getMemoryFlag(input, (0, testing_utils_1.createFeatures)([]))); } }); (0, ava_1.default)("getAddSnippetsFlag() should return the correct flag", (t) => { diff --git a/lib/util.test.js.map b/lib/util.test.js.map index 319b2d93eb..908d2d0cbc 100644 --- a/lib/util.test.js.map +++ b/lib/util.test.js.map @@ -1 +1 @@ -{"version":3,"file":"util.test.js","sourceRoot":"","sources":["../src/util.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"util.test.js","sourceRoot":"","sources":["../src/util.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/analyze-action.ts b/src/analyze-action.ts index bc0e06925d..5de6c9aec8 100644 --- a/src/analyze-action.ts +++ b/src/analyze-action.ts @@ -210,9 +210,6 @@ async function run() { actionsUtil.getOptionalInput("threads") || process.env["CODEQL_THREADS"], logger ); - const memory = util.getMemoryFlag( - actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"] - ); const repositoryNwo = parseRepositoryNwo( util.getRequiredEnvParam("GITHUB_REPOSITORY") @@ -227,6 +224,11 @@ async function run() { logger ); + const memory = await util.getMemoryFlag( + actionsUtil.getOptionalInput("ram") || process.env["CODEQL_RAM"], + features + ); + await runAutobuildIfLegacyGoWorkflow(config, logger); dbCreationTimings = await runFinalize( diff --git a/src/feature-flags.ts b/src/feature-flags.ts index a410518494..04de5e77f3 100644 --- a/src/feature-flags.ts +++ b/src/feature-flags.ts @@ -39,6 +39,7 @@ export enum Feature { MlPoweredQueriesEnabled = "ml_powered_queries_enabled", NewAnalysisSummaryEnabled = "new_analysis_summary_enabled", QaTelemetryEnabled = "qa_telemetry_enabled", + ScalingReservedRam = "scaling_reserved_ram", UploadFailedSarifEnabled = "upload_failed_sarif_enabled", } @@ -76,6 +77,11 @@ export const featureConfig: Record< minimumVersion: undefined, defaultValue: false, }, + [Feature.ScalingReservedRam]: { + envVar: "CODEQL_ACTION_SCALING_RESERVED_RAM", + minimumVersion: undefined, + defaultValue: false, + }, [Feature.UploadFailedSarifEnabled]: { envVar: "CODEQL_ACTION_UPLOAD_FAILED_SARIF", minimumVersion: "2.11.3", diff --git a/src/init-action.ts b/src/init-action.ts index 7b65db16d5..4ab5fd3532 100644 --- a/src/init-action.ts +++ b/src/init-action.ts @@ -329,7 +329,7 @@ async function run() { core.exportVariable( "CODEQL_RAM", process.env["CODEQL_RAM"] || - getMemoryFlagValue(getOptionalInput("ram")).toString() + (await getMemoryFlagValue(getOptionalInput("ram"), features)).toString() ); core.exportVariable( "CODEQL_THREADS", diff --git a/src/util.test.ts b/src/util.test.ts index 731ec8b1d7..22f74f7f13 100644 --- a/src/util.test.ts +++ b/src/util.test.ts @@ -8,8 +8,14 @@ import * as sinon from "sinon"; import * as api from "./api-client"; import { Config } from "./config-utils"; +import { Feature } from "./feature-flags"; import { getRunnerLogger } from "./logging"; -import { getRecordingLogger, LoggedMessage, setupTests } from "./testing-utils"; +import { + createFeatures, + getRecordingLogger, + LoggedMessage, + setupTests, +} from "./testing-utils"; import * as util from "./util"; setupTests(test); @@ -23,25 +29,37 @@ test("getToolNames", (t) => { t.deepEqual(toolNames, ["CodeQL command-line toolchain", "ESLint"]); }); -test("getMemoryFlag() should return the correct --ram flag", (t) => { - const totalMem = Math.floor(os.totalmem() / (1024 * 1024)); - const expectedThreshold = process.platform === "win32" ? 1536 : 1024; +test("getMemoryFlag() should return the correct --ram flag", async (t) => { + const totalMem = os.totalmem() / (1024 * 1024); + const fixedAmount = process.platform === "win32" ? 1536 : 1024; + const scaledAmount = 0.02 * totalMem; + const expectedMemoryValue = Math.floor(totalMem - fixedAmount); + const expectedMemoryValueWithScaling = Math.floor( + totalMem - fixedAmount - scaledAmount + ); - const tests: Array<[string | undefined, string]> = [ - [undefined, `--ram=${totalMem - expectedThreshold}`], - ["", `--ram=${totalMem - expectedThreshold}`], - ["512", "--ram=512"], + const tests: Array<[string | undefined, boolean, string]> = [ + [undefined, false, `--ram=${expectedMemoryValue}`], + ["", false, `--ram=${expectedMemoryValue}`], + ["512", false, "--ram=512"], + [undefined, true, `--ram=${expectedMemoryValueWithScaling}`], + ["", true, `--ram=${expectedMemoryValueWithScaling}`], ]; - for (const [input, expectedFlag] of tests) { - const flag = util.getMemoryFlag(input); + for (const [input, withScaling, expectedFlag] of tests) { + const features = createFeatures( + withScaling ? [Feature.ScalingReservedRam] : [] + ); + const flag = await util.getMemoryFlag(input, features); t.deepEqual(flag, expectedFlag); } }); -test("getMemoryFlag() throws if the ram input is < 0 or NaN", (t) => { +test("getMemoryFlag() throws if the ram input is < 0 or NaN", async (t) => { for (const input of ["-1", "hello!"]) { - t.throws(() => util.getMemoryFlag(input)); + await t.throwsAsync( + async () => await util.getMemoryFlag(input, createFeatures([])) + ); } }); diff --git a/src/util.ts b/src/util.ts index 7174eec608..05875773bc 100644 --- a/src/util.ts +++ b/src/util.ts @@ -157,9 +157,21 @@ export async function withTmpDir( * from committing too much of the available memory to CodeQL. * @returns number */ -function getSystemReservedMemoryMegaBytes(): number { +async function getSystemReservedMemoryMegaBytes( + totalMemoryMegaBytes: number, + features: FeatureEnablement +): Promise { // Windows needs more memory for OS processes. - return 1024 * (process.platform === "win32" ? 1.5 : 1); + const fixedAmount = 1024 * (process.platform === "win32" ? 1.5 : 1); + + if (await features.getValue(Feature.ScalingReservedRam)) { + // 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; + return fixedAmount + scaledAmount; + } else { + return fixedAmount; + } } /** @@ -169,7 +181,10 @@ function getSystemReservedMemoryMegaBytes(): number { * * @returns {number} the amount of RAM to use, in megabytes */ -export function getMemoryFlagValue(userInput: string | undefined): number { +export async function getMemoryFlagValue( + userInput: string | undefined, + features: FeatureEnablement +): Promise { let memoryToUseMegaBytes: number; if (userInput) { memoryToUseMegaBytes = Number(userInput); @@ -179,7 +194,10 @@ export function getMemoryFlagValue(userInput: string | undefined): number { } else { const totalMemoryBytes = os.totalmem(); const totalMemoryMegaBytes = totalMemoryBytes / (1024 * 1024); - const reservedMemoryMegaBytes = getSystemReservedMemoryMegaBytes(); + const reservedMemoryMegaBytes = await getSystemReservedMemoryMegaBytes( + totalMemoryMegaBytes, + features + ); memoryToUseMegaBytes = totalMemoryMegaBytes - reservedMemoryMegaBytes; } return Math.floor(memoryToUseMegaBytes); @@ -192,8 +210,12 @@ export function getMemoryFlagValue(userInput: string | undefined): number { * * @returns string */ -export function getMemoryFlag(userInput: string | undefined): string { - return `--ram=${getMemoryFlagValue(userInput)}`; +export async function getMemoryFlag( + userInput: string | undefined, + features: FeatureEnablement +): Promise { + const megabytes = await getMemoryFlagValue(userInput, features); + return `--ram=${megabytes}`; } /** From 28e070c4420f0f4ed19c2c852b29ceebf0e733e9 Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Fri, 7 Jul 2023 15:31:38 +0100 Subject: [PATCH 2/3] Add changenote for scaling_reserved_ram change --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b51b43a1b0..dd1b52ad6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - This is the last release of the Action that supports CodeQL CLI versions 2.8.5 to 2.9.3. These versions of the CodeQL CLI were deprecated on June 20, 2023 alongside GitHub Enterprise Server 3.5 and will not be supported by the next release of the CodeQL Action (2.21.0). - If you are using one of these versions, please update to CodeQL CLI version 2.9.4 or later. For instance, if you have specified a custom version of the CLI using the 'tools' input to the 'init' Action, you can remove this input to use the default version. - Alternatively, if you want to continue using a version of the CodeQL CLI between 2.8.5 and 2.9.3, you can replace 'github/codeql-action/*@v2' by 'github/codeql-action/*@v2.20.4' in your code scanning workflow to ensure you continue using this version of the CodeQL Action. +- We are rolling out a feature in July 2023 that will slightly reduce the default amount of RAM used for query execution, in proportion to the runner's total memory. This will help to avoid out-of-memory failures on larger runners. [#1760](https://github.com/github/codeql-action/pull/1760) ## 2.20.3 - 06 Jul 2023 From ab9aa50acb0d7b7b8166ab5db1c937f93c66b523 Mon Sep 17 00:00:00 2001 From: Nick Rolfe Date: Fri, 7 Jul 2023 16:43:50 +0100 Subject: [PATCH 3/3] Add integration test for scaling_reserved_ram feature flag --- .github/workflows/__scaling-reserved-ram.yml | 98 ++++++++++++++++++++ pr-checks/checks/scaling-reserved-ram.yml | 24 +++++ 2 files changed, 122 insertions(+) create mode 100644 .github/workflows/__scaling-reserved-ram.yml create mode 100644 pr-checks/checks/scaling-reserved-ram.yml diff --git a/.github/workflows/__scaling-reserved-ram.yml b/.github/workflows/__scaling-reserved-ram.yml new file mode 100644 index 0000000000..00c4dc14e6 --- /dev/null +++ b/.github/workflows/__scaling-reserved-ram.yml @@ -0,0 +1,98 @@ +# Warning: This file is generated automatically, and should not be modified. +# Instead, please modify the template in the pr-checks directory and run: +# (cd pr-checks; pip install ruamel.yaml && python3 sync.py) +# to regenerate this file. + +name: PR Check - Scaling reserved RAM +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GO111MODULE: auto + CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true' +on: + push: + branches: + - main + - releases/v2 + pull_request: + types: + - opened + - synchronize + - reopened + - ready_for_review + workflow_dispatch: {} +jobs: + scaling-reserved-ram: + strategy: + matrix: + include: + - os: ubuntu-latest + version: stable-20220401 + - os: macos-latest + version: stable-20220401 + - os: ubuntu-latest + version: stable-20220615 + - os: macos-latest + version: stable-20220615 + - os: ubuntu-latest + version: stable-20220908 + - os: macos-latest + version: stable-20220908 + - os: ubuntu-latest + version: stable-20221211 + - os: macos-latest + version: stable-20221211 + - os: ubuntu-latest + version: cached + - os: macos-latest + version: cached + - os: ubuntu-latest + version: latest + - os: macos-latest + version: latest + - os: ubuntu-latest + version: nightly-latest + - os: macos-latest + version: nightly-latest + name: Scaling reserved RAM + permissions: + contents: read + security-events: write + timeout-minutes: 45 + runs-on: ${{ matrix.os }} + steps: + - name: Check out repository + uses: actions/checkout@v3 + - name: Prepare test + id: prepare-test + uses: ./.github/actions/prepare-test + with: + version: ${{ matrix.version }} + - name: Set environment variable for Swift enablement + if: >- + runner.os != 'Windows' && ( + matrix.version == '20220908' || + matrix.version == '20221211' + ) + shell: bash + run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV + - uses: ./../action/init + id: init + with: + db-location: ${{ runner.temp }}/customDbLocation + tools: ${{ steps.prepare-test.outputs.tools-url }} + + - uses: ./../action/.github/actions/setup-swift + with: + codeql-path: ${{ steps.init.outputs.codeql-path }} + + - name: Build code + shell: bash + run: ./build.sh + + - uses: ./../action/analyze + id: analysis + with: + upload-database: false + env: + CODEQL_ACTION_SCALING_RESERVED_RAM: true + CODEQL_ACTION_TEST_MODE: true diff --git a/pr-checks/checks/scaling-reserved-ram.yml b/pr-checks/checks/scaling-reserved-ram.yml new file mode 100644 index 0000000000..fe2366ed7d --- /dev/null +++ b/pr-checks/checks/scaling-reserved-ram.yml @@ -0,0 +1,24 @@ +name: "Scaling reserved RAM" +description: "An end-to-end integration test of a multi-language repository with the scaling_reserved_ram feature flag enabled" +operatingSystems: ["ubuntu", "macos"] +env: + CODEQL_ACTION_SCALING_RESERVED_RAM: true +steps: + - uses: ./../action/init + id: init + with: + db-location: "${{ runner.temp }}/customDbLocation" + tools: ${{ steps.prepare-test.outputs.tools-url }} + + - uses: ./../action/.github/actions/setup-swift + with: + codeql-path: ${{ steps.init.outputs.codeql-path }} + + - name: Build code + shell: bash + run: ./build.sh + + - uses: ./../action/analyze + id: analysis + with: + upload-database: false