diff --git a/lib/codeql.js b/lib/codeql.js index fb347e5c60..78ec201442 100644 --- a/lib/codeql.js +++ b/lib/codeql.js @@ -50,6 +50,7 @@ const toolrunner = __importStar(require("@actions/exec/lib/toolrunner")); const yaml = __importStar(require("js-yaml")); const actions_util_1 = require("./actions-util"); const cli_errors_1 = require("./cli-errors"); +const config_utils_1 = require("./config-utils"); const doc_url_1 = require("./doc-url"); const environment_1 = require("./environment"); const feature_flags_1 = require("./feature-flags"); @@ -261,7 +262,7 @@ async function getCodeQLForCmd(cmd, checkVersion) { extraArgs.push(...(await getTrapCachingExtractorConfigArgs(config))); extraArgs.push(`--trace-process-name=${processName}`); } - const codeScanningConfigFile = await generateCodeScanningConfig(config, logger); + const codeScanningConfigFile = await writeCodeScanningConfigFile(config, logger); const externalRepositoryToken = (0, actions_util_1.getOptionalInput)("external-repository-token"); extraArgs.push(`--codescanning-config=${codeScanningConfigFile}`); if (externalRepositoryToken) { @@ -756,57 +757,9 @@ async function runCli(cmd, args = [], opts = {}) { * @param config The configuration to use. * @returns the path to the generated user configuration file. */ -async function generateCodeScanningConfig(config, logger) { +async function writeCodeScanningConfigFile(config, logger) { const codeScanningConfigFile = getGeneratedCodeScanningConfigPath(config); - // make a copy so we can modify it - const augmentedConfig = (0, util_1.cloneObject)(config.originalUserInput); - // Inject the queries from the input - if (config.augmentationProperties.queriesInput) { - if (config.augmentationProperties.queriesInputCombines) { - augmentedConfig.queries = (augmentedConfig.queries || []).concat(config.augmentationProperties.queriesInput); - } - else { - augmentedConfig.queries = config.augmentationProperties.queriesInput; - } - } - if (augmentedConfig.queries?.length === 0) { - delete augmentedConfig.queries; - } - // Inject the packs from the input - if (config.augmentationProperties.packsInput) { - if (config.augmentationProperties.packsInputCombines) { - // At this point, we already know that this is a single-language analysis - if (Array.isArray(augmentedConfig.packs)) { - augmentedConfig.packs = (augmentedConfig.packs || []).concat(config.augmentationProperties.packsInput); - } - else if (!augmentedConfig.packs) { - augmentedConfig.packs = config.augmentationProperties.packsInput; - } - else { - // At this point, we know there is only one language. - // If there were more than one language, an error would already have been thrown. - const language = Object.keys(augmentedConfig.packs)[0]; - augmentedConfig.packs[language] = augmentedConfig.packs[language].concat(config.augmentationProperties.packsInput); - } - } - else { - augmentedConfig.packs = config.augmentationProperties.packsInput; - } - } - if (Array.isArray(augmentedConfig.packs) && !augmentedConfig.packs.length) { - delete augmentedConfig.packs; - } - augmentedConfig["query-filters"] = [ - // Ordering matters. If the first filter is an inclusion, it implicitly - // excludes all queries that are not included. If it is an exclusion, - // it implicitly includes all queries that are not excluded. So user - // filters (if any) should always be first to preserve intent. - ...(augmentedConfig["query-filters"] || []), - ...(config.augmentationProperties.extraQueryExclusions || []), - ]; - if (augmentedConfig["query-filters"]?.length === 0) { - delete augmentedConfig["query-filters"]; - } + const augmentedConfig = (0, config_utils_1.generateCodeScanningConfig)(config.originalUserInput, config.augmentationProperties); logger.info(`Writing augmented user configuration file to ${codeScanningConfigFile}`); logger.startGroup("Augmented user configuration file contents"); logger.info(yaml.dump(augmentedConfig)); diff --git a/lib/codeql.js.map b/lib/codeql.js.map index d00482fe56..3bbd9e4976 100644 --- a/lib/codeql.js.map +++ b/lib/codeql.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/config-utils.js b/lib/config-utils.js index 4735b554c7..21b3a31929 100644 --- a/lib/config-utils.js +++ b/lib/config-utils.js @@ -58,6 +58,7 @@ exports.getConfig = getConfig; exports.generateRegistries = generateRegistries; exports.wrapEnvironment = wrapEnvironment; exports.parseBuildModeInput = parseBuildModeInput; +exports.generateCodeScanningConfig = generateCodeScanningConfig; const fs = __importStar(require("fs")); const path = __importStar(require("path")); const perf_hooks_1 = require("perf_hooks"); @@ -231,12 +232,12 @@ async function getRawLanguages(languagesInput, repository, logger) { return { rawLanguages, autodetected }; } /** - * Get the default config for when the user has not supplied one. + * Get the default config, populated without user configuration file. */ -async function getDefaultConfig({ languagesInput, queriesInput, qualityQueriesInput, packsInput, buildModeInput, dbLocation, trapCachingEnabled, dependencyCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeql, sourceRoot, githubVersion, features, logger, }) { +async function getDefaultConfig({ languagesInput, queriesInput, qualityQueriesInput, packsInput, buildModeInput, dbLocation, trapCachingEnabled, dependencyCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeql, githubVersion, features, logger, }) { const languages = await getLanguages(codeql, languagesInput, repository, logger); const buildMode = await parseBuildModeInput(buildModeInput, languages, features, logger); - const augmentationProperties = await calculateAugmentation(codeql, repository, features, packsInput, queriesInput, qualityQueriesInput, languages, sourceRoot, buildMode, logger); + const augmentationProperties = await calculateAugmentation(packsInput, queriesInput, qualityQueriesInput, languages); const { trapCaches, trapCacheDownloadTime } = await downloadCacheWithTime(trapCachingEnabled, codeql, languages, logger); return { languages, @@ -265,11 +266,7 @@ async function downloadCacheWithTime(trapCachingEnabled, codeQL, languages, logg } return { trapCaches, trapCacheDownloadTime }; } -/** - * Load the config from the given file. - */ -async function loadConfig({ languagesInput, queriesInput, qualityQueriesInput, packsInput, buildModeInput, configFile, dbLocation, trapCachingEnabled, dependencyCachingEnabled, debugMode, debugArtifactName, debugDatabaseName, repository, tempDir, codeql, workspacePath, sourceRoot, githubVersion, apiDetails, features, logger, }) { - let parsedYAML; +async function loadUserConfig(configFile, workspacePath, apiDetails, tempDir) { if (isLocal(configFile)) { if (configFile !== userConfigFromActionPath(tempDir)) { // If the config file is not generated by the Action, it should be relative to the workspace. @@ -279,31 +276,11 @@ async function loadConfig({ languagesInput, queriesInput, qualityQueriesInput, p throw new util_1.ConfigurationError(getConfigFileOutsideWorkspaceErrorMessage(configFile)); } } - parsedYAML = getLocalConfig(configFile); + return getLocalConfig(configFile); } else { - parsedYAML = await getRemoteConfig(configFile, apiDetails); + return await getRemoteConfig(configFile, apiDetails); } - const languages = await getLanguages(codeql, languagesInput, repository, logger); - const buildMode = await parseBuildModeInput(buildModeInput, languages, features, logger); - const augmentationProperties = await calculateAugmentation(codeql, repository, features, packsInput, queriesInput, qualityQueriesInput, languages, sourceRoot, buildMode, logger); - const { trapCaches, trapCacheDownloadTime } = await downloadCacheWithTime(trapCachingEnabled, codeql, languages, logger); - return { - languages, - buildMode, - originalUserInput: parsedYAML, - tempDir, - codeQLCmd: codeql.getPath(), - gitHubVersion: githubVersion, - dbLocation: dbLocationOrDefault(dbLocation, tempDir), - debugMode, - debugArtifactName, - debugDatabaseName, - augmentationProperties, - trapCaches, - trapCacheDownloadTime, - dependencyCachingEnabled: (0, caching_utils_1.getCachingKind)(dependencyCachingEnabled), - }; } /** * Calculates how the codeql config file needs to be augmented before passing @@ -312,17 +289,11 @@ async function loadConfig({ languagesInput, queriesInput, qualityQueriesInput, p * and the CLI does not know about these inputs so we need to inject them into * the config file sent to the CLI. * - * @param codeql The CodeQL object. - * @param repository The repository to analyze. - * @param features The feature enablement object. * @param rawPacksInput The packs input from the action configuration. * @param rawQueriesInput The queries input from the action configuration. * @param languages The languages that the config file is for. If the packs input * is non-empty, then there must be exactly one language. Otherwise, an * error is thrown. - * @param sourceRoot The source root of the repository. - * @param buildMode The build mode to use. - * @param logger The logger to use for logging. * * @returns The properties that need to be augmented in the config file. * @@ -330,30 +301,21 @@ async function loadConfig({ languagesInput, queriesInput, qualityQueriesInput, p * not have exactly one language. */ // exported for testing. -async function calculateAugmentation(codeql, repository, features, rawPacksInput, rawQueriesInput, rawQualityQueriesInput, languages, sourceRoot, buildMode, logger) { +async function calculateAugmentation(rawPacksInput, rawQueriesInput, rawQualityQueriesInput, languages) { const packsInputCombines = shouldCombine(rawPacksInput); const packsInput = parsePacksFromInput(rawPacksInput, languages, packsInputCombines); const queriesInputCombines = shouldCombine(rawQueriesInput); const queriesInput = parseQueriesFromInput(rawQueriesInput, queriesInputCombines); - const { overlayDatabaseMode, useOverlayDatabaseCaching } = await getOverlayDatabaseMode(codeql, repository, features, languages, sourceRoot, buildMode, logger); - logger.info(`Using overlay database mode: ${overlayDatabaseMode} ` + - `${useOverlayDatabaseCaching ? "with" : "without"} caching.`); const qualityQueriesInput = parseQueriesFromInput(rawQualityQueriesInput, false); - const extraQueryExclusions = []; - if (await (0, diff_informed_analysis_utils_1.shouldPerformDiffInformedAnalysis)(codeql, features, logger)) { - extraQueryExclusions.push({ - exclude: { tags: "exclude-from-incremental" }, - }); - } return { packsInputCombines, packsInput: packsInput?.[languages[0]], queriesInput, queriesInputCombines, qualityQueriesInput, - extraQueryExclusions, - overlayDatabaseMode, - useOverlayDatabaseCaching, + extraQueryExclusions: [], + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, }; } function parseQueriesFromInput(rawQueriesInput, queriesInputCombines) { @@ -368,6 +330,64 @@ function parseQueriesFromInput(rawQueriesInput, queriesInputCombines) { } return trimmedInput.split(",").map((query) => ({ uses: query.trim() })); } +const OVERLAY_ANALYSIS_FEATURES = { + actions: feature_flags_1.Feature.OverlayAnalysisActions, + cpp: feature_flags_1.Feature.OverlayAnalysisCpp, + csharp: feature_flags_1.Feature.OverlayAnalysisCsharp, + go: feature_flags_1.Feature.OverlayAnalysisGo, + java: feature_flags_1.Feature.OverlayAnalysisJava, + javascript: feature_flags_1.Feature.OverlayAnalysisJavascript, + python: feature_flags_1.Feature.OverlayAnalysisPython, + ruby: feature_flags_1.Feature.OverlayAnalysisRuby, + rust: feature_flags_1.Feature.OverlayAnalysisRust, + swift: feature_flags_1.Feature.OverlayAnalysisSwift, +}; +const OVERLAY_ANALYSIS_CODE_SCANNING_FEATURES = { + actions: feature_flags_1.Feature.OverlayAnalysisCodeScanningActions, + cpp: feature_flags_1.Feature.OverlayAnalysisCodeScanningCpp, + csharp: feature_flags_1.Feature.OverlayAnalysisCodeScanningCsharp, + go: feature_flags_1.Feature.OverlayAnalysisCodeScanningGo, + java: feature_flags_1.Feature.OverlayAnalysisCodeScanningJava, + javascript: feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + python: feature_flags_1.Feature.OverlayAnalysisCodeScanningPython, + ruby: feature_flags_1.Feature.OverlayAnalysisCodeScanningRuby, + rust: feature_flags_1.Feature.OverlayAnalysisCodeScanningRust, + swift: feature_flags_1.Feature.OverlayAnalysisCodeScanningSwift, +}; +async function isOverlayAnalysisFeatureEnabled(repository, features, codeql, languages, codeScanningConfig) { + // TODO: Remove the repository owner check once support for overlay analysis + // stabilizes, and no more backward-incompatible changes are expected. + if (!["github", "dsp-testing"].includes(repository.owner)) { + return false; + } + if (!(await features.getValue(feature_flags_1.Feature.OverlayAnalysis, codeql))) { + return false; + } + let enableForCodeScanningOnly = false; + for (const language of languages) { + const feature = OVERLAY_ANALYSIS_FEATURES[language]; + if (feature && (await features.getValue(feature, codeql))) { + continue; + } + const codeScanningFeature = OVERLAY_ANALYSIS_CODE_SCANNING_FEATURES[language]; + if (codeScanningFeature && + (await features.getValue(codeScanningFeature, codeql))) { + enableForCodeScanningOnly = true; + continue; + } + return false; + } + if (enableForCodeScanningOnly) { + // A code-scanning configuration runs only the (default) code-scanning suite + // if the default queries are not disabled, and no packs, queries, or + // query-filters are specified. + return (codeScanningConfig["disable-default-queries"] !== true && + codeScanningConfig.packs === undefined && + codeScanningConfig.queries === undefined && + codeScanningConfig["query-filters"] === undefined); + } + return true; +} /** * Calculate and validate the overlay database mode and caching to use. * @@ -389,7 +409,7 @@ function parseQueriesFromInput(rawQueriesInput, queriesInputCombines) { * @returns An object containing the overlay database mode and whether the * action should perform overlay-base database caching. */ -async function getOverlayDatabaseMode(codeql, repository, features, languages, sourceRoot, buildMode, logger) { +async function getOverlayDatabaseMode(codeql, repository, features, languages, sourceRoot, buildMode, codeScanningConfig, logger) { let overlayDatabaseMode = overlay_database_utils_1.OverlayDatabaseMode.None; let useOverlayDatabaseCaching = false; const modeEnv = process.env.CODEQL_OVERLAY_DATABASE_MODE; @@ -402,11 +422,7 @@ async function getOverlayDatabaseMode(codeql, repository, features, languages, s logger.info(`Setting overlay database mode to ${overlayDatabaseMode} ` + "from the CODEQL_OVERLAY_DATABASE_MODE environment variable."); } - else if ( - // TODO: Remove the repository owner check once support for overlay analysis - // stabilizes, and no more backward-incompatible changes are expected. - ["github", "dsp-testing"].includes(repository.owner) && - (await features.getValue(feature_flags_1.Feature.OverlayAnalysis, codeql))) { + else if (await isOverlayAnalysisFeatureEnabled(repository, features, codeql, languages, codeScanningConfig)) { if ((0, actions_util_1.isAnalyzingPullRequest)()) { overlayDatabaseMode = overlay_database_utils_1.OverlayDatabaseMode.Overlay; useOverlayDatabaseCaching = true; @@ -586,7 +602,6 @@ function userConfigFromActionPath(tempDir) { * a default config. The parsed config is then stored to a known location. */ async function initConfig(inputs) { - let config; const { logger, tempDir } = inputs; // if configInput is set, it takes precedence over configFile if (inputs.configInput) { @@ -597,14 +612,31 @@ async function initConfig(inputs) { fs.writeFileSync(inputs.configFile, inputs.configInput); logger.debug(`Using config from action input: ${inputs.configFile}`); } - // If no config file was provided create an empty one + let userConfig = {}; if (!inputs.configFile) { logger.debug("No configuration file was provided"); - config = await getDefaultConfig(inputs); } else { - // Convince the type checker that inputs.configFile is defined. - config = await loadConfig({ ...inputs, configFile: inputs.configFile }); + logger.debug(`Using configuration file: ${inputs.configFile}`); + userConfig = await loadUserConfig(inputs.configFile, inputs.workspacePath, inputs.apiDetails, tempDir); + } + const config = await getDefaultConfig(inputs); + const augmentationProperties = config.augmentationProperties; + config.originalUserInput = userConfig; + // The choice of overlay database mode depends on the selection of languages + // and queries, which in turn depends on the user config and the augmentation + // properties. So we need to calculate the overlay database mode after the + // rest of the config has been populated. + const { overlayDatabaseMode, useOverlayDatabaseCaching } = await getOverlayDatabaseMode(inputs.codeql, inputs.repository, inputs.features, config.languages, inputs.sourceRoot, config.buildMode, generateCodeScanningConfig(userConfig, augmentationProperties), logger); + logger.info(`Using overlay database mode: ${overlayDatabaseMode} ` + + `${useOverlayDatabaseCaching ? "with" : "without"} caching.`); + augmentationProperties.overlayDatabaseMode = overlayDatabaseMode; + augmentationProperties.useOverlayDatabaseCaching = useOverlayDatabaseCaching; + if (overlayDatabaseMode === overlay_database_utils_1.OverlayDatabaseMode.Overlay || + (await (0, diff_informed_analysis_utils_1.shouldPerformDiffInformedAnalysis)(inputs.codeql, inputs.features, logger))) { + augmentationProperties.extraQueryExclusions.push({ + exclude: { tags: "exclude-from-incremental" }, + }); } // Save the config so we can easily access it again in the future await saveConfig(config, logger); @@ -807,4 +839,56 @@ async function parseBuildModeInput(input, languages, features, logger) { } return input; } +function generateCodeScanningConfig(originalUserInput, augmentationProperties) { + // make a copy so we can modify it + const augmentedConfig = (0, util_1.cloneObject)(originalUserInput); + // Inject the queries from the input + if (augmentationProperties.queriesInput) { + if (augmentationProperties.queriesInputCombines) { + augmentedConfig.queries = (augmentedConfig.queries || []).concat(augmentationProperties.queriesInput); + } + else { + augmentedConfig.queries = augmentationProperties.queriesInput; + } + } + if (augmentedConfig.queries?.length === 0) { + delete augmentedConfig.queries; + } + // Inject the packs from the input + if (augmentationProperties.packsInput) { + if (augmentationProperties.packsInputCombines) { + // At this point, we already know that this is a single-language analysis + if (Array.isArray(augmentedConfig.packs)) { + augmentedConfig.packs = (augmentedConfig.packs || []).concat(augmentationProperties.packsInput); + } + else if (!augmentedConfig.packs) { + augmentedConfig.packs = augmentationProperties.packsInput; + } + else { + // At this point, we know there is only one language. + // If there were more than one language, an error would already have been thrown. + const language = Object.keys(augmentedConfig.packs)[0]; + augmentedConfig.packs[language] = augmentedConfig.packs[language].concat(augmentationProperties.packsInput); + } + } + else { + augmentedConfig.packs = augmentationProperties.packsInput; + } + } + if (Array.isArray(augmentedConfig.packs) && !augmentedConfig.packs.length) { + delete augmentedConfig.packs; + } + augmentedConfig["query-filters"] = [ + // Ordering matters. If the first filter is an inclusion, it implicitly + // excludes all queries that are not included. If it is an exclusion, + // it implicitly includes all queries that are not excluded. So user + // filters (if any) should always be first to preserve intent. + ...(augmentedConfig["query-filters"] || []), + ...augmentationProperties.extraQueryExclusions, + ]; + if (augmentedConfig["query-filters"]?.length === 0) { + delete augmentedConfig["query-filters"]; + } + return augmentedConfig; +} //# sourceMappingURL=config-utils.js.map \ No newline at end of file diff --git a/lib/config-utils.js.map b/lib/config-utils.js.map index 49a29185db..9ca1936211 100644 --- a/lib/config-utils.js.map +++ b/lib/config-utils.js.map @@ -1 +1 @@ -{"version":3,"file":"config-utils.js","sourceRoot":"","sources":["../src/config-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"config-utils.js","sourceRoot":"","sources":["../src/config-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/config-utils.test.js b/lib/config-utils.test.js index a99d59ecc6..134f7f5d0f 100644 --- a/lib/config-utils.test.js +++ b/lib/config-utils.test.js @@ -629,9 +629,7 @@ const packSpecPrettyPrintingMacro = ava_1.default.macro({ const mockLogger = (0, logging_1.getRunnerLogger)(true); const calculateAugmentationMacro = ava_1.default.macro({ exec: async (t, _title, rawPacksInput, rawQueriesInput, rawQualityQueriesInput, languages, expectedAugmentationProperties) => { - const actualAugmentationProperties = await configUtils.calculateAugmentation((0, codeql_1.getCachedCodeQL)(), { owner: "github", repo: "repo" }, (0, testing_utils_1.createFeatures)([]), rawPacksInput, rawQueriesInput, rawQualityQueriesInput, languages, "", // sourceRoot - undefined, // buildMode - mockLogger); + const actualAugmentationProperties = await configUtils.calculateAugmentation(rawPacksInput, rawQueriesInput, rawQualityQueriesInput, languages); t.deepEqual(actualAugmentationProperties, expectedAugmentationProperties); }, title: (_, title) => `Calculate Augmentation: ${title}`, @@ -678,9 +676,7 @@ const calculateAugmentationMacro = ava_1.default.macro({ }); const calculateAugmentationErrorMacro = ava_1.default.macro({ exec: async (t, _title, rawPacksInput, rawQueriesInput, rawQualityQueriesInput, languages, expectedError) => { - await t.throwsAsync(() => configUtils.calculateAugmentation((0, codeql_1.getCachedCodeQL)(), { owner: "github", repo: "repo" }, (0, testing_utils_1.createFeatures)([]), rawPacksInput, rawQueriesInput, rawQualityQueriesInput, languages, "", // sourceRoot - undefined, // buildMode - mockLogger), { message: expectedError }); + await t.throwsAsync(() => configUtils.calculateAugmentation(rawPacksInput, rawQueriesInput, rawQualityQueriesInput, languages), { message: expectedError }); }, title: (_, title) => `Calculate Augmentation Error: ${title}`, }); @@ -834,7 +830,7 @@ for (const { displayName, language, feature } of [ } const defaultOverlayDatabaseModeTestSetup = { overlayDatabaseEnvVar: undefined, - isFeatureEnabled: false, + features: [], isPullRequest: false, isDefaultBranch: false, repositoryOwner: "github", @@ -842,6 +838,7 @@ const defaultOverlayDatabaseModeTestSetup = { languages: [languages_1.Language.javascript], codeqlVersion: "2.21.0", gitRoot: "/some/git/root", + codeScanningConfig: {}, }; const getOverlayDatabaseModeMacro = ava_1.default.macro({ exec: async (t, _title, setupOverrides, expected) => { @@ -862,7 +859,7 @@ const getOverlayDatabaseModeMacro = ava_1.default.macro({ setup.overlayDatabaseEnvVar; } // Mock feature flags - const features = (0, testing_utils_1.createFeatures)(setup.isFeatureEnabled ? [feature_flags_1.Feature.OverlayAnalysis] : []); + const features = (0, testing_utils_1.createFeatures)(setup.features); // Mock isAnalyzingPullRequest function sinon .stub(actionsUtil, "isAnalyzingPullRequest") @@ -883,7 +880,7 @@ const getOverlayDatabaseModeMacro = ava_1.default.macro({ .stub(gitUtils, "isAnalyzingDefaultBranch") .resolves(setup.isDefaultBranch); const result = await configUtils.getOverlayDatabaseMode(codeql, repository, features, setup.languages, tempDir, // sourceRoot - setup.buildMode, logger); + setup.buildMode, setup.codeScanningConfig, logger); t.deepEqual(result, expected); } finally { @@ -919,32 +916,227 @@ const getOverlayDatabaseModeMacro = ava_1.default.macro({ useOverlayDatabaseCaching: false, }); (0, ava_1.default)(getOverlayDatabaseModeMacro, "Ignore feature flag when analyzing non-default branch", { - isFeatureEnabled: true, + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysis, feature_flags_1.Feature.OverlayAnalysisJavascript], }, { overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, useOverlayDatabaseCaching: false, }); (0, ava_1.default)(getOverlayDatabaseModeMacro, "Overlay-base database on default branch when feature enabled", { - isFeatureEnabled: true, + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysis, feature_flags_1.Feature.OverlayAnalysisJavascript], + isDefaultBranch: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.OverlayBase, + useOverlayDatabaseCaching: true, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "Overlay-base database on default branch when feature enabled with custom analysis", { + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysis, feature_flags_1.Feature.OverlayAnalysisJavascript], + codeScanningConfig: { + packs: ["some-custom-pack@1.0.0"], + }, + isDefaultBranch: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.OverlayBase, + useOverlayDatabaseCaching: true, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "Overlay-base database on default branch when code-scanning feature enabled", { + languages: [languages_1.Language.javascript], + features: [ + feature_flags_1.Feature.OverlayAnalysis, + feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + ], isDefaultBranch: true, }, { overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.OverlayBase, useOverlayDatabaseCaching: true, }); -(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay-base database on default branch when feature disabled", { +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay-base database on default branch when code-scanning feature enabled with disable-default-queries", { + languages: [languages_1.Language.javascript], + features: [ + feature_flags_1.Feature.OverlayAnalysis, + feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + "disable-default-queries": true, + }, + isDefaultBranch: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay-base database on default branch when code-scanning feature enabled with packs", { + languages: [languages_1.Language.javascript], + features: [ + feature_flags_1.Feature.OverlayAnalysis, + feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + packs: ["some-custom-pack@1.0.0"], + }, + isDefaultBranch: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay-base database on default branch when code-scanning feature enabled with queries", { + languages: [languages_1.Language.javascript], + features: [ + feature_flags_1.Feature.OverlayAnalysis, + feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + queries: [{ uses: "some-query.ql" }], + }, + isDefaultBranch: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay-base database on default branch when code-scanning feature enabled with query-filters", { + languages: [languages_1.Language.javascript], + features: [ + feature_flags_1.Feature.OverlayAnalysis, + feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + "query-filters": [{ include: { "security-severity": "high" } }], + }, + isDefaultBranch: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay-base database on default branch when only language-specific feature enabled", { + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysisJavascript], + isDefaultBranch: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay-base database on default branch when only code-scanning feature enabled", { + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript], + isDefaultBranch: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay-base database on default branch when language-specific feature disabled", { + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysis], isDefaultBranch: true, }, { overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, useOverlayDatabaseCaching: false, }); (0, ava_1.default)(getOverlayDatabaseModeMacro, "Overlay analysis on PR when feature enabled", { - isFeatureEnabled: true, + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysis, feature_flags_1.Feature.OverlayAnalysisJavascript], isPullRequest: true, }, { overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.Overlay, useOverlayDatabaseCaching: true, }); -(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay analysis on PR when feature disabled", { +(0, ava_1.default)(getOverlayDatabaseModeMacro, "Overlay analysis on PR when feature enabled with custom analysis", { + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysis, feature_flags_1.Feature.OverlayAnalysisJavascript], + codeScanningConfig: { + packs: ["some-custom-pack@1.0.0"], + }, + isPullRequest: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.Overlay, + useOverlayDatabaseCaching: true, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "Overlay analysis on PR when code-scanning feature enabled", { + languages: [languages_1.Language.javascript], + features: [ + feature_flags_1.Feature.OverlayAnalysis, + feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + ], + isPullRequest: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.Overlay, + useOverlayDatabaseCaching: true, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay analysis on PR when code-scanning feature enabled with disable-default-queries", { + languages: [languages_1.Language.javascript], + features: [ + feature_flags_1.Feature.OverlayAnalysis, + feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + "disable-default-queries": true, + }, + isPullRequest: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay analysis on PR when code-scanning feature enabled with packs", { + languages: [languages_1.Language.javascript], + features: [ + feature_flags_1.Feature.OverlayAnalysis, + feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + packs: ["some-custom-pack@1.0.0"], + }, + isPullRequest: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay analysis on PR when code-scanning feature enabled with queries", { + languages: [languages_1.Language.javascript], + features: [ + feature_flags_1.Feature.OverlayAnalysis, + feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + queries: [{ uses: "some-query.ql" }], + }, + isPullRequest: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay analysis on PR when code-scanning feature enabled with query-filters", { + languages: [languages_1.Language.javascript], + features: [ + feature_flags_1.Feature.OverlayAnalysis, + feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + "query-filters": [{ include: { "security-severity": "high" } }], + }, + isPullRequest: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay analysis on PR when only language-specific feature enabled", { + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysisJavascript], + isPullRequest: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay analysis on PR when only code-scanning feature enabled", { + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysisCodeScanningJavascript], + isPullRequest: true, +}, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, +}); +(0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay analysis on PR when language-specific feature disabled", { + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysis], isPullRequest: true, }, { overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, @@ -965,7 +1157,8 @@ const getOverlayDatabaseModeMacro = ava_1.default.macro({ useOverlayDatabaseCaching: false, }); (0, ava_1.default)(getOverlayDatabaseModeMacro, "Overlay PR analysis by feature flag for dsp-testing", { - isFeatureEnabled: true, + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysis, feature_flags_1.Feature.OverlayAnalysisJavascript], isPullRequest: true, repositoryOwner: "dsp-testing", }, { @@ -973,7 +1166,8 @@ const getOverlayDatabaseModeMacro = ava_1.default.macro({ useOverlayDatabaseCaching: true, }); (0, ava_1.default)(getOverlayDatabaseModeMacro, "No overlay PR analysis by feature flag for other-org", { - isFeatureEnabled: true, + languages: [languages_1.Language.javascript], + features: [feature_flags_1.Feature.OverlayAnalysis, feature_flags_1.Feature.OverlayAnalysisJavascript], isPullRequest: true, repositoryOwner: "other-org", }, { @@ -1010,4 +1204,15 @@ const getOverlayDatabaseModeMacro = ava_1.default.macro({ overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, useOverlayDatabaseCaching: false, }); +// Exercise language-specific overlay analysis features code paths +for (const language in languages_1.Language) { + (0, ava_1.default)(getOverlayDatabaseModeMacro, `Check default overlay analysis feature for ${language}`, { + languages: [language], + features: [feature_flags_1.Feature.OverlayAnalysis], + isPullRequest: true, + }, { + overlayDatabaseMode: overlay_database_utils_1.OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }); +} //# sourceMappingURL=config-utils.test.js.map \ No newline at end of file diff --git a/lib/config-utils.test.js.map b/lib/config-utils.test.js.map index 3ecbca8407..227bf08b46 100644 --- a/lib/config-utils.test.js.map +++ b/lib/config-utils.test.js.map @@ -1 +1 @@ -{"version":3,"file":"config-utils.test.js","sourceRoot":"","sources":["../src/config-utils.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"config-utils.test.js","sourceRoot":"","sources":["../src/config-utils.test.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 0951bc5517..9ab72ab50b 100644 --- a/lib/feature-flags.js +++ b/lib/feature-flags.js @@ -69,6 +69,26 @@ var Feature; Feature["ExportDiagnosticsEnabled"] = "export_diagnostics_enabled"; Feature["ExtractToToolcache"] = "extract_to_toolcache"; Feature["OverlayAnalysis"] = "overlay_analysis"; + Feature["OverlayAnalysisActions"] = "overlay_analysis_actions"; + Feature["OverlayAnalysisCodeScanningActions"] = "overlay_analysis_code_scanning_actions"; + Feature["OverlayAnalysisCodeScanningCpp"] = "overlay_analysis_code_scanning_cpp"; + Feature["OverlayAnalysisCodeScanningCsharp"] = "overlay_analysis_code_scanning_csharp"; + Feature["OverlayAnalysisCodeScanningGo"] = "overlay_analysis_code_scanning_go"; + Feature["OverlayAnalysisCodeScanningJava"] = "overlay_analysis_code_scanning_java"; + Feature["OverlayAnalysisCodeScanningJavascript"] = "overlay_analysis_code_scanning_javascript"; + Feature["OverlayAnalysisCodeScanningPython"] = "overlay_analysis_code_scanning_python"; + Feature["OverlayAnalysisCodeScanningRuby"] = "overlay_analysis_code_scanning_ruby"; + Feature["OverlayAnalysisCodeScanningRust"] = "overlay_analysis_code_scanning_rust"; + Feature["OverlayAnalysisCodeScanningSwift"] = "overlay_analysis_code_scanning_swift"; + Feature["OverlayAnalysisCpp"] = "overlay_analysis_cpp"; + Feature["OverlayAnalysisCsharp"] = "overlay_analysis_csharp"; + Feature["OverlayAnalysisGo"] = "overlay_analysis_go"; + Feature["OverlayAnalysisJava"] = "overlay_analysis_java"; + Feature["OverlayAnalysisJavascript"] = "overlay_analysis_javascript"; + Feature["OverlayAnalysisPython"] = "overlay_analysis_python"; + Feature["OverlayAnalysisRuby"] = "overlay_analysis_ruby"; + Feature["OverlayAnalysisRust"] = "overlay_analysis_rust"; + Feature["OverlayAnalysisSwift"] = "overlay_analysis_swift"; Feature["PythonDefaultIsToNotExtractStdlib"] = "python_default_is_to_not_extract_stdlib"; Feature["QaTelemetryEnabled"] = "qa_telemetry_enabled"; Feature["RustAnalysis"] = "rust_analysis"; @@ -139,6 +159,106 @@ exports.featureConfig = { envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", minimumVersion: overlay_database_utils_1.CODEQL_OVERLAY_MINIMUM_VERSION, }, + [Feature.OverlayAnalysisActions]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_ACTIONS", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningActions]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_ACTIONS", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningCpp]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CPP", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningCsharp]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CSHARP", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningGo]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_GO", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningJava]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVA", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningJavascript]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVASCRIPT", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningPython]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_PYTHON", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningRuby]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUBY", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningRust]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUST", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningSwift]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_SWIFT", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCpp]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CPP", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCsharp]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CSHARP", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisGo]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_GO", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisJava]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVA", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisJavascript]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVASCRIPT", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisPython]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_PYTHON", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisRuby]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUBY", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisRust]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUST", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisSwift]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SWIFT", + minimumVersion: undefined, + }, [Feature.PythonDefaultIsToNotExtractStdlib]: { defaultValue: false, envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", @@ -370,14 +490,22 @@ class GitHubFeatureFlags { try { const featuresToRequest = Object.entries(exports.featureConfig) .filter(([, config]) => !config.legacyApi) - .map(([f]) => f) - .join(","); - const response = await (0, api_client_1.getApiClient)().request("GET /repos/:owner/:repo/code-scanning/codeql-action/features", { - owner: this.repositoryNwo.owner, - repo: this.repositoryNwo.repo, - features: featuresToRequest, - }); - const remoteFlags = response.data; + .map(([f]) => f); + const FEATURES_PER_REQUEST = 25; + const featureChunks = []; + while (featuresToRequest.length > 0) { + featureChunks.push(featuresToRequest.splice(0, FEATURES_PER_REQUEST)); + } + let remoteFlags = {}; + for (const chunk of featureChunks) { + const response = await (0, api_client_1.getApiClient)().request("GET /repos/:owner/:repo/code-scanning/codeql-action/features", { + owner: this.repositoryNwo.owner, + repo: this.repositoryNwo.repo, + features: chunk.join(","), + }); + const chunkFlags = response.data; + remoteFlags = { ...remoteFlags, ...chunkFlags }; + } this.logger.debug("Loaded the following default values for the feature flags from the Code Scanning API:"); for (const [feature, value] of Object.entries(remoteFlags).sort(([nameA], [nameB]) => nameA.localeCompare(nameB))) { this.logger.debug(` ${feature}: ${value}`); diff --git a/lib/feature-flags.js.map b/lib/feature-flags.js.map index cae9f3f135..21e7bee4aa 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/feature-flags.test.js b/lib/feature-flags.test.js index 78621d8262..a3fefec674 100644 --- a/lib/feature-flags.test.js +++ b/lib/feature-flags.test.js @@ -36,7 +36,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); -exports.initializeFeatures = initializeFeatures; const fs = __importStar(require("fs")); const path = __importStar(require("path")); const ava_1 = __importDefault(require("ava")); @@ -68,7 +67,7 @@ const testRepositoryNwo = (0, repository_1.parseRepositoryNwo)("github/example") await (0, util_1.withTmpDir)(async (tmpDir) => { const loggedMessages = []; const features = setUpFeatureFlagTests(tmpDir, (0, testing_utils_1.getRecordingLogger)(loggedMessages), { type: util_1.GitHubVariant.GHE_DOTCOM }); - (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, initializeFeatures(true)); + (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, (0, testing_utils_1.initializeFeatures)(true)); for (const feature of Object.values(feature_flags_1.Feature)) { // Ensure we have gotten a response value back from the Mock API t.assert(await features.getValue(feature, includeCodeQlIfRequired(feature))); @@ -103,6 +102,24 @@ const testRepositoryNwo = (0, repository_1.parseRepositoryNwo)("github/example") assertAllFeaturesUndefinedInApi(t, loggedMessages); }); }); +(0, ava_1.default)("Include no more than 25 features in each API request", async (t) => { + await (0, util_1.withTmpDir)(async (tmpDir) => { + const features = setUpFeatureFlagTests(tmpDir); + (0, testing_utils_1.stubFeatureFlagApiEndpoint)((request) => { + const requestedFeatures = request.features.split(","); + return { + status: requestedFeatures.length <= 25 ? 200 : 400, + messageIfError: "Can request a maximum of 25 features.", + data: {}, + }; + }); + // We only need to call getValue once, and it does not matter which feature + // we ask for. Under the hood, the features library will request all features + // from the API. + const feature = Object.values(feature_flags_1.Feature)[0]; + await t.notThrowsAsync(async () => features.getValue(feature, includeCodeQlIfRequired(feature))); + }); +}); (0, ava_1.default)("Feature flags exception is propagated if the API request errors", async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); @@ -135,7 +152,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { (0, ava_1.default)(`Only feature '${feature}' is enabled if the associated environment variable is true. Others disabled.`, async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); - const expectedFeatureEnablement = initializeFeatures(false); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(false); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); // feature should be disabled initially t.assert(!(await features.getValue(feature, includeCodeQlIfRequired(feature)))); @@ -147,7 +164,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { (0, ava_1.default)(`Feature '${feature}' is disabled if the associated environment variable is false, even if enabled in API`, async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); - const expectedFeatureEnablement = initializeFeatures(true); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); // feature should be enabled initially t.assert(await features.getValue(feature, includeCodeQlIfRequired(feature))); @@ -161,7 +178,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { (0, ava_1.default)(`Getting feature '${feature} should throw if no codeql is provided`, async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); - const expectedFeatureEnablement = initializeFeatures(true); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); await t.throwsAsync(async () => features.getValue(feature), { message: `Internal error: A ${feature_flags_1.featureConfig[feature].minimumVersion !== undefined @@ -175,7 +192,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { (0, ava_1.default)(`Feature '${feature}' is disabled if the minimum CLI version is below ${feature_flags_1.featureConfig[feature].minimumVersion}`, async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); - const expectedFeatureEnablement = initializeFeatures(true); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); // feature should be disabled when an old CLI version is set let codeql = (0, testing_utils_1.mockCodeQLVersion)("2.0.0"); @@ -199,7 +216,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { (0, ava_1.default)(`Feature '${feature}' is disabled if the required tools feature is not enabled`, async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); - const expectedFeatureEnablement = initializeFeatures(true); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); // feature should be disabled when the required tools feature is not enabled let codeql = (0, testing_utils_1.mockCodeQLVersion)("2.0.0"); @@ -225,7 +242,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { (0, ava_1.default)("Feature flags are saved to disk", async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); - const expectedFeatureEnablement = initializeFeatures(true); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); const cachedFeatureFlags = path.join(tmpDir, feature_flags_1.FEATURE_FLAGS_FILE_NAME); t.false(fs.existsSync(cachedFeatureFlags), "Feature flag cached file should not exist before getting feature flags"); @@ -244,7 +261,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { (0, ava_1.default)("Environment variable can override feature flag cache", async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); - const expectedFeatureEnablement = initializeFeatures(true); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); const cachedFeatureFlags = path.join(tmpDir, feature_flags_1.FEATURE_FLAGS_FILE_NAME); t.true(await features.getValue(feature_flags_1.Feature.QaTelemetryEnabled, includeCodeQlIfRequired(feature_flags_1.Feature.QaTelemetryEnabled)), "Feature flag should be enabled initially"); @@ -266,7 +283,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { (0, ava_1.default)("selects CLI v2.20.1 on Dotcom when feature flags enable v2.20.0 and v2.20.1", async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); - const expectedFeatureEnablement = initializeFeatures(true); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); expectedFeatureEnablement["default_codeql_version_2_20_0_enabled"] = true; expectedFeatureEnablement["default_codeql_version_2_20_1_enabled"] = true; expectedFeatureEnablement["default_codeql_version_2_20_2_enabled"] = false; @@ -285,7 +302,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { (0, ava_1.default)("includes tag name", async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); - const expectedFeatureEnablement = initializeFeatures(true); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); expectedFeatureEnablement["default_codeql_version_2_20_0_enabled"] = true; (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); const defaultCliVersion = await features.getDefaultCliVersion(util_1.GitHubVariant.DOTCOM); @@ -299,7 +316,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { (0, ava_1.default)(`selects CLI from defaults.json on Dotcom when no default version feature flags are enabled`, async (t) => { await (0, util_1.withTmpDir)(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); - const expectedFeatureEnablement = initializeFeatures(true); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); (0, testing_utils_1.mockFeatureFlagApiEndpoint)(200, expectedFeatureEnablement); const defaultCliVersion = await features.getDefaultCliVersion(util_1.GitHubVariant.DOTCOM); t.deepEqual(defaultCliVersion, { @@ -313,7 +330,7 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) { await (0, util_1.withTmpDir)(async (tmpDir) => { const loggedMessages = []; const features = setUpFeatureFlagTests(tmpDir, (0, testing_utils_1.getRecordingLogger)(loggedMessages)); - const expectedFeatureEnablement = initializeFeatures(true); + const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); expectedFeatureEnablement["default_codeql_version_2_20_0_enabled"] = true; expectedFeatureEnablement["default_codeql_version_2_20_1_enabled"] = true; expectedFeatureEnablement["default_codeql_version_2_20_invalid_enabled"] = @@ -358,12 +375,6 @@ function assertAllFeaturesUndefinedInApi(t, loggedMessages) { v.message.includes("undefined in API response")) !== undefined); } } -function initializeFeatures(initialValue) { - return Object.keys(feature_flags_1.featureConfig).reduce((features, key) => { - features[key] = initialValue; - return features; - }, {}); -} function setUpFeatureFlagTests(tmpDir, logger = (0, logging_1.getRunnerLogger)(true), gitHubVersion = { type: util_1.GitHubVariant.DOTCOM }) { (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); return new feature_flags_1.Features(gitHubVersion, testRepositoryNwo, tmpDir, logger); diff --git a/lib/feature-flags.test.js.map b/lib/feature-flags.test.js.map index 1b1a23ea18..69ad60cf85 100644 --- a/lib/feature-flags.test.js.map +++ b/lib/feature-flags.test.js.map @@ -1 +1 @@ -{"version":3,"file":"feature-flags.test.js","sourceRoot":"","sources":["../src/feature-flags.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"feature-flags.test.js","sourceRoot":"","sources":["../src/feature-flags.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/setup-codeql.test.js b/lib/setup-codeql.test.js index b2c90021b9..98a8c9584a 100644 --- a/lib/setup-codeql.test.js +++ b/lib/setup-codeql.test.js @@ -40,14 +40,13 @@ const path = __importStar(require("path")); const ava_1 = __importDefault(require("ava")); const sinon = __importStar(require("sinon")); const actionsUtil = __importStar(require("./actions-util")); -const feature_flags_test_1 = require("./feature-flags.test"); const logging_1 = require("./logging"); const setupCodeql = __importStar(require("./setup-codeql")); const testing_utils_1 = require("./testing-utils"); const util_1 = require("./util"); (0, testing_utils_1.setupTests)(ava_1.default); // TODO: Remove when when we no longer need to pass in features (https://github.com/github/codeql-action/issues/2600) -const expectedFeatureEnablement = (0, feature_flags_test_1.initializeFeatures)(true); +const expectedFeatureEnablement = (0, testing_utils_1.initializeFeatures)(true); expectedFeatureEnablement.getValue = function (feature) { // eslint-disable-next-line @typescript-eslint/no-unsafe-return return expectedFeatureEnablement[feature]; diff --git a/lib/setup-codeql.test.js.map b/lib/setup-codeql.test.js.map index 678774e6dd..829a118388 100644 --- a/lib/setup-codeql.test.js.map +++ b/lib/setup-codeql.test.js.map @@ -1 +1 @@ -{"version":3,"file":"setup-codeql.test.js","sourceRoot":"","sources":["../src/setup-codeql.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,8CAAuB;AACvB,6CAA+B;AAE/B,4DAA8C;AAE9C,6DAA0D;AAC1D,uCAA4C;AAC5C,4DAA8C;AAC9C,mDASyB;AACzB,iCAKgB;AAEhB,IAAA,0BAAU,EAAC,aAAI,CAAC,CAAC;AAEjB,qHAAqH;AACrH,MAAM,yBAAyB,GAAsB,IAAA,uCAAkB,EACrE,IAAI,CACgB,CAAC;AACvB,yBAAyB,CAAC,QAAQ,GAAG,UAAU,OAAgB;IAC7D,+DAA+D;IAC/D,OAAO,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC,CAAC;AACF,aAAI,CAAC,UAAU,CAAC,GAAG,EAAE;IACnB,IAAA,4BAAqB,EAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,iCAAiC,EAAE,CAAC,CAAC,EAAE,EAAE;IAC5C,CAAC,CAAC,SAAS,CACT,WAAW,CAAC,mBAAmB,CAC7B,mDAAmD,CACpD,EACD,UAAU,CACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE;IAC9B,MAAM,KAAK,GAAG;QACZ,UAAU,EAAE,gBAAgB;QAC5B,YAAY,EAAE,kBAAkB;QAChC,cAAc,EAAE,cAAc;QAC9B,OAAO,EAAE,OAAO;QAChB,aAAa,EAAE,aAAa;QAC5B,cAAc,EAAE,cAAc;KAC/B,CAAC;IAEF,KAAK,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,CAC/C,OAAO,EACP,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;YACF,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,CAAC,CAAC,IAAI,CAAC,IAAA,sBAAe,EAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE;IACtC,MAAM,MAAM,GAAG,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC;IAErC,IAAA,4BAAqB,EAAC,OAAO,CAAC,CAAC;IAE/B,kCAAkC;IAClC,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,WAAW,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC,CAAC,SAAS,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IAErD,mCAAmC;IACnC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,GAAG,SAAS,CAAC;IACpD,MAAM,OAAO,GAAG,WAAW,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6DAA6D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9E,MAAM,IAAA,iBAAU,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAChC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,sBAAsB,CAAC;QACvC,IAAA,qCAAqB,EAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAC9C,6DAA6D,OAAO,+BAA+B,EACnG,0CAA0B,EAC1B,yCAAyB,EACzB,oBAAa,CAAC,MAAM,EACpB,KAAK,EACL,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;QAEF,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,4EAA4E,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC7F,MAAM,IAAA,iBAAU,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAChC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAC9C,QAAQ,EACR,0CAA0B,EAC1B,yCAAyB,EACzB,oBAAa,CAAC,MAAM,EACpB,KAAK,EACL,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,CAAC;QAEF,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,kCAAkB,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,4EAA4E,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC7F,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,kCAAkB,EAAC,cAAc,CAAC,CAAC;IAElD,MAAM,IAAA,iBAAU,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAChC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAC9C,QAAQ,EACR,0CAA0B,EAC1B,yCAAyB,EACzB,oBAAa,CAAC,MAAM,EACpB,KAAK,EACL,MAAM,CACP,CAAC;QAEF,8EAA8E;QAC9E,+BAA+B;QAC/B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,kCAAkB,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEpC,qEAAqE;QACrE,MAAM,gBAAgB,GACpB,kHAAkH,CAAC;QACrH,CAAC,CAAC,MAAM,CACN,cAAc,CAAC,IAAI,CACjB,CAAC,GAAG,EAAE,EAAE,CACN,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAC/B,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CACzC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,yFAAyF,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC1G,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,kCAAkB,EAAC,cAAc,CAAC,CAAC;IAElD,oEAAoE;IACpE,oCAAoC;IACpC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC;QACjD,YAAY,EAAE,QAAQ;QACtB,YAAY,EAAE;YACZ,kBAAkB,EAAE,GAAG;YACvB,iBAAiB,EAAE,MAAM;YACzB,kBAAkB,EAAE,GAAG;YACvB,oBAAoB,EAAE,GAAG;YACzB,gBAAgB,EAAE,KAAK;YACvB,QAAQ,EAAE,UAAU;SACrB;QACD,YAAY,EAAE,kCAAkB,CAAC,UAAU;KAC5C,CAAC,CAAC;IAEH,MAAM,IAAA,iBAAU,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAChC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAChD,QAAQ,EACR,yCAAyB,EACzB,yBAAyB,EACzB,oBAAa,CAAC,MAAM,EACpB,yBAAyB,EACzB,0CAA0B,EAC1B,MAAM,CACP,CAAC;QAEF,4DAA4D;QAC5D,oCAAoC;QACpC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,kCAAkB,CAAC,UAAU,CAAC,CAAC;QAEzD,sEAAsE;QACtE,MAAM,gBAAgB,GAAW,4BAA4B,kCAAkB,CAAC,UAAU,EAAE,CAAC;QAC7F,CAAC,CAAC,MAAM,CACN,cAAc,CAAC,IAAI,CACjB,CAAC,GAAG,EAAE,EAAE,CACN,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAC/B,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CACzC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sGAAsG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvH,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAA,kCAAkB,EAAC,cAAc,CAAC,CAAC;IAElD,MAAM,SAAS,GACb,8GAA8G,CAAC;IACjH,MAAM,eAAe,GAAG,QAAQ,CAAC;IAEjC,oEAAoE;IACpE,oCAAoC;IACpC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC;QACjD,YAAY,EAAE,QAAQ;QACtB,YAAY,EAAE;YACZ,kBAAkB,EAAE,GAAG;YACvB,iBAAiB,EAAE,MAAM;YACzB,kBAAkB,EAAE,GAAG;YACvB,oBAAoB,EAAE,GAAG;YACzB,gBAAgB,EAAE,KAAK;YACvB,QAAQ,EAAE,SAAS;SACpB;QACD,YAAY,EAAE,eAAe;KAC9B,CAAC,CAAC;IAEH,MAAM,IAAA,iBAAU,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAChC,IAAA,gCAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAChD,SAAS,EACT,yCAAyB,EACzB,yBAAyB,EACzB,oBAAa,CAAC,MAAM,EACpB,yBAAyB,EACzB,0CAA0B,EAC1B,MAAM,CACP,CAAC;QAEF,iFAAiF;QACjF,oBAAoB;QACpB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAE3C,sEAAsE;QACtE,MAAM,gBAAgB,GAAW,gDAAgD,SAAS,IAAI,CAAC;QAC/F,CAAC,CAAC,MAAM,CACN,cAAc,CAAC,IAAI,CACjB,CAAC,GAAG,EAAE,EAAE,CACN,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;YAC/B,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CACzC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6FAA6F,EAAE,CAAC,CAAC,EAAE,EAAE;IACxG,CAAC,CAAC,EAAE,CACF,WAAW,CAAC,oBAAoB,CAC9B,oHAAoH,EACpH,IAAA,yBAAe,EAAC,IAAI,CAAC,CACtB,EACD,uBAAuB,CACxB,CAAC;AACJ,CAAC,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"setup-codeql.test.js","sourceRoot":"","sources":["../src/setup-codeql.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/testing-utils.js b/lib/testing-utils.js index f0ce58b6e7..68b0c218c5 100644 --- a/lib/testing-utils.js +++ b/lib/testing-utils.js @@ -41,9 +41,11 @@ exports.setupTests = setupTests; exports.setupActionsVars = setupActionsVars; exports.getRecordingLogger = getRecordingLogger; exports.mockFeatureFlagApiEndpoint = mockFeatureFlagApiEndpoint; +exports.stubFeatureFlagApiEndpoint = stubFeatureFlagApiEndpoint; exports.mockLanguagesInRepo = mockLanguagesInRepo; exports.mockCodeQLVersion = mockCodeQLVersion; exports.createFeatures = createFeatures; +exports.initializeFeatures = initializeFeatures; exports.mockBundleDownloadApi = mockBundleDownloadApi; exports.createTestConfig = createTestConfig; const node_util_1 = require("node:util"); @@ -54,6 +56,7 @@ const sinon = __importStar(require("sinon")); const apiClient = __importStar(require("./api-client")); const codeql = __importStar(require("./codeql")); const defaults = __importStar(require("./defaults.json")); +const feature_flags_1 = require("./feature-flags"); const util_1 = require("./util"); exports.SAMPLE_DOTCOM_API_DETAILS = { auth: "token", @@ -172,21 +175,32 @@ function getRecordingLogger(messages) { } /** Mock the HTTP request to the feature flags enablement API endpoint. */ function mockFeatureFlagApiEndpoint(responseStatusCode, response) { + stubFeatureFlagApiEndpoint(() => ({ + status: responseStatusCode, + messageIfError: "some error message", + data: response, + })); +} +/** Stub the HTTP request to the feature flags enablement API endpoint. */ +function stubFeatureFlagApiEndpoint(responseFunction) { // Passing an auth token is required, so we just use a dummy value const client = github.getOctokit("123"); const requestSpy = sinon.stub(client, "request"); const optInSpy = requestSpy.withArgs("GET /repos/:owner/:repo/code-scanning/codeql-action/features"); - if (responseStatusCode < 300) { - optInSpy.resolves({ - status: responseStatusCode, - data: response, - headers: {}, - url: "GET /repos/:owner/:repo/code-scanning/codeql-action/features", - }); - } - else { - optInSpy.throws(new util_1.HTTPError("some error message", responseStatusCode)); - } + optInSpy.callsFake((_route, params) => { + const response = responseFunction(params); + if (response.status < 300) { + return Promise.resolve({ + status: response.status, + data: response.data, + headers: {}, + url: "GET /repos/:owner/:repo/code-scanning/codeql-action/features", + }); + } + else { + throw new util_1.HTTPError(response.messageIfError || "default stub error message", response.status); + } + }); sinon.stub(apiClient, "getApiClient").value(() => client); } function mockLanguagesInRepo(languages) { @@ -240,6 +254,12 @@ function createFeatures(enabledFeatures) { }, }; } +function initializeFeatures(initialValue) { + return Object.keys(feature_flags_1.featureConfig).reduce((features, key) => { + features[key] = initialValue; + return features; + }, {}); +} /** * Mocks the API for downloading the bundle tagged `tagName`. * @@ -282,6 +302,7 @@ function createTestConfig(overrides) { augmentationProperties: { packsInputCombines: false, queriesInputCombines: false, + extraQueryExclusions: [], }, trapCaches: {}, trapCacheDownloadTime: 0, diff --git a/lib/testing-utils.js.map b/lib/testing-utils.js.map index 580944b399..b802b6d6c0 100644 --- a/lib/testing-utils.js.map +++ b/lib/testing-utils.js.map @@ -1 +1 @@ -{"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../src/testing-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../src/testing-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/codeql.ts b/src/codeql.ts index 0cc917c222..7d82af72a0 100644 --- a/src/codeql.ts +++ b/src/codeql.ts @@ -13,7 +13,7 @@ import { } from "./actions-util"; import * as api from "./api-client"; import { CliError, wrapCliConfigurationError } from "./cli-errors"; -import { type Config } from "./config-utils"; +import { generateCodeScanningConfig, type Config } from "./config-utils"; import { DocUrl } from "./doc-url"; import { EnvVar } from "./environment"; import { @@ -35,7 +35,7 @@ import { ToolsDownloadStatusReport } from "./tools-download"; import { ToolsFeature, isSupportedToolsFeature } from "./tools-features"; import { shouldEnableIndirectTracing } from "./tracer-config"; import * as util from "./util"; -import { BuildMode, cloneObject, getErrorMessage } from "./util"; +import { BuildMode, getErrorMessage } from "./util"; type Options = Array; @@ -574,7 +574,7 @@ export async function getCodeQLForCmd( extraArgs.push(`--trace-process-name=${processName}`); } - const codeScanningConfigFile = await generateCodeScanningConfig( + const codeScanningConfigFile = await writeCodeScanningConfigFile( config, logger, ); @@ -1217,66 +1217,15 @@ async function runCli( * @param config The configuration to use. * @returns the path to the generated user configuration file. */ -async function generateCodeScanningConfig( +async function writeCodeScanningConfigFile( config: Config, logger: Logger, ): Promise { const codeScanningConfigFile = getGeneratedCodeScanningConfigPath(config); - - // make a copy so we can modify it - const augmentedConfig = cloneObject(config.originalUserInput); - - // Inject the queries from the input - if (config.augmentationProperties.queriesInput) { - if (config.augmentationProperties.queriesInputCombines) { - augmentedConfig.queries = (augmentedConfig.queries || []).concat( - config.augmentationProperties.queriesInput, - ); - } else { - augmentedConfig.queries = config.augmentationProperties.queriesInput; - } - } - if (augmentedConfig.queries?.length === 0) { - delete augmentedConfig.queries; - } - - // Inject the packs from the input - if (config.augmentationProperties.packsInput) { - if (config.augmentationProperties.packsInputCombines) { - // At this point, we already know that this is a single-language analysis - if (Array.isArray(augmentedConfig.packs)) { - augmentedConfig.packs = (augmentedConfig.packs || []).concat( - config.augmentationProperties.packsInput, - ); - } else if (!augmentedConfig.packs) { - augmentedConfig.packs = config.augmentationProperties.packsInput; - } else { - // At this point, we know there is only one language. - // If there were more than one language, an error would already have been thrown. - const language = Object.keys(augmentedConfig.packs)[0]; - augmentedConfig.packs[language] = augmentedConfig.packs[ - language - ].concat(config.augmentationProperties.packsInput); - } - } else { - augmentedConfig.packs = config.augmentationProperties.packsInput; - } - } - if (Array.isArray(augmentedConfig.packs) && !augmentedConfig.packs.length) { - delete augmentedConfig.packs; - } - - augmentedConfig["query-filters"] = [ - // Ordering matters. If the first filter is an inclusion, it implicitly - // excludes all queries that are not included. If it is an exclusion, - // it implicitly includes all queries that are not excluded. So user - // filters (if any) should always be first to preserve intent. - ...(augmentedConfig["query-filters"] || []), - ...(config.augmentationProperties.extraQueryExclusions || []), - ]; - if (augmentedConfig["query-filters"]?.length === 0) { - delete augmentedConfig["query-filters"]; - } + const augmentedConfig = generateCodeScanningConfig( + config.originalUserInput, + config.augmentationProperties, + ); logger.info( `Writing augmented user configuration file to ${codeScanningConfigFile}`, diff --git a/src/config-utils.test.ts b/src/config-utils.test.ts index 4047ac5819..7671f862df 100644 --- a/src/config-utils.test.ts +++ b/src/config-utils.test.ts @@ -818,16 +818,10 @@ const calculateAugmentationMacro = test.macro({ ) => { const actualAugmentationProperties = await configUtils.calculateAugmentation( - getCachedCodeQL(), - { owner: "github", repo: "repo" }, - createFeatures([]), rawPacksInput, rawQueriesInput, rawQualityQueriesInput, languages, - "", // sourceRoot - undefined, // buildMode - mockLogger, ); t.deepEqual(actualAugmentationProperties, expectedAugmentationProperties); }, @@ -950,16 +944,10 @@ const calculateAugmentationErrorMacro = test.macro({ await t.throwsAsync( () => configUtils.calculateAugmentation( - getCachedCodeQL(), - { owner: "github", repo: "repo" }, - createFeatures([]), rawPacksInput, rawQueriesInput, rawQualityQueriesInput, languages, - "", // sourceRoot - undefined, // buildMode - mockLogger, ), { message: expectedError }, ); @@ -1206,7 +1194,7 @@ for (const { displayName, language, feature } of [ interface OverlayDatabaseModeTestSetup { overlayDatabaseEnvVar: string | undefined; - isFeatureEnabled: boolean; + features: Feature[]; isPullRequest: boolean; isDefaultBranch: boolean; repositoryOwner: string; @@ -1214,11 +1202,12 @@ interface OverlayDatabaseModeTestSetup { languages: Language[]; codeqlVersion: string; gitRoot: string | undefined; + codeScanningConfig: configUtils.UserConfig; } const defaultOverlayDatabaseModeTestSetup: OverlayDatabaseModeTestSetup = { overlayDatabaseEnvVar: undefined, - isFeatureEnabled: false, + features: [], isPullRequest: false, isDefaultBranch: false, repositoryOwner: "github", @@ -1226,6 +1215,7 @@ const defaultOverlayDatabaseModeTestSetup: OverlayDatabaseModeTestSetup = { languages: [Language.javascript], codeqlVersion: "2.21.0", gitRoot: "/some/git/root", + codeScanningConfig: {}, }; const getOverlayDatabaseModeMacro = test.macro({ @@ -1259,9 +1249,7 @@ const getOverlayDatabaseModeMacro = test.macro({ } // Mock feature flags - const features = createFeatures( - setup.isFeatureEnabled ? [Feature.OverlayAnalysis] : [], - ); + const features = createFeatures(setup.features); // Mock isAnalyzingPullRequest function sinon @@ -1294,6 +1282,7 @@ const getOverlayDatabaseModeMacro = test.macro({ setup.languages, tempDir, // sourceRoot setup.buildMode, + setup.codeScanningConfig, logger, ); @@ -1359,7 +1348,8 @@ test( getOverlayDatabaseModeMacro, "Ignore feature flag when analyzing non-default branch", { - isFeatureEnabled: true, + languages: [Language.javascript], + features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript], }, { overlayDatabaseMode: OverlayDatabaseMode.None, @@ -1371,7 +1361,42 @@ test( getOverlayDatabaseModeMacro, "Overlay-base database on default branch when feature enabled", { - isFeatureEnabled: true, + languages: [Language.javascript], + features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript], + isDefaultBranch: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.OverlayBase, + useOverlayDatabaseCaching: true, + }, +); + +test( + getOverlayDatabaseModeMacro, + "Overlay-base database on default branch when feature enabled with custom analysis", + { + languages: [Language.javascript], + features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript], + codeScanningConfig: { + packs: ["some-custom-pack@1.0.0"], + } as configUtils.UserConfig, + isDefaultBranch: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.OverlayBase, + useOverlayDatabaseCaching: true, + }, +); + +test( + getOverlayDatabaseModeMacro, + "Overlay-base database on default branch when code-scanning feature enabled", + { + languages: [Language.javascript], + features: [ + Feature.OverlayAnalysis, + Feature.OverlayAnalysisCodeScanningJavascript, + ], isDefaultBranch: true, }, { @@ -1382,8 +1407,118 @@ test( test( getOverlayDatabaseModeMacro, - "No overlay-base database on default branch when feature disabled", + "No overlay-base database on default branch when code-scanning feature enabled with disable-default-queries", + { + languages: [Language.javascript], + features: [ + Feature.OverlayAnalysis, + Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + "disable-default-queries": true, + } as configUtils.UserConfig, + isDefaultBranch: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay-base database on default branch when code-scanning feature enabled with packs", + { + languages: [Language.javascript], + features: [ + Feature.OverlayAnalysis, + Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + packs: ["some-custom-pack@1.0.0"], + } as configUtils.UserConfig, + isDefaultBranch: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay-base database on default branch when code-scanning feature enabled with queries", { + languages: [Language.javascript], + features: [ + Feature.OverlayAnalysis, + Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + queries: [{ uses: "some-query.ql" }], + } as configUtils.UserConfig, + isDefaultBranch: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay-base database on default branch when code-scanning feature enabled with query-filters", + { + languages: [Language.javascript], + features: [ + Feature.OverlayAnalysis, + Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + "query-filters": [{ include: { "security-severity": "high" } }], + } as configUtils.UserConfig, + isDefaultBranch: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay-base database on default branch when only language-specific feature enabled", + { + languages: [Language.javascript], + features: [Feature.OverlayAnalysisJavascript], + isDefaultBranch: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay-base database on default branch when only code-scanning feature enabled", + { + languages: [Language.javascript], + features: [Feature.OverlayAnalysisCodeScanningJavascript], + isDefaultBranch: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay-base database on default branch when language-specific feature disabled", + { + languages: [Language.javascript], + features: [Feature.OverlayAnalysis], isDefaultBranch: true, }, { @@ -1396,7 +1531,8 @@ test( getOverlayDatabaseModeMacro, "Overlay analysis on PR when feature enabled", { - isFeatureEnabled: true, + languages: [Language.javascript], + features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript], isPullRequest: true, }, { @@ -1407,8 +1543,152 @@ test( test( getOverlayDatabaseModeMacro, - "No overlay analysis on PR when feature disabled", + "Overlay analysis on PR when feature enabled with custom analysis", { + languages: [Language.javascript], + features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript], + codeScanningConfig: { + packs: ["some-custom-pack@1.0.0"], + } as configUtils.UserConfig, + isPullRequest: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.Overlay, + useOverlayDatabaseCaching: true, + }, +); + +test( + getOverlayDatabaseModeMacro, + "Overlay analysis on PR when code-scanning feature enabled", + { + languages: [Language.javascript], + features: [ + Feature.OverlayAnalysis, + Feature.OverlayAnalysisCodeScanningJavascript, + ], + isPullRequest: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.Overlay, + useOverlayDatabaseCaching: true, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay analysis on PR when code-scanning feature enabled with disable-default-queries", + { + languages: [Language.javascript], + features: [ + Feature.OverlayAnalysis, + Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + "disable-default-queries": true, + } as configUtils.UserConfig, + isPullRequest: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay analysis on PR when code-scanning feature enabled with packs", + { + languages: [Language.javascript], + features: [ + Feature.OverlayAnalysis, + Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + packs: ["some-custom-pack@1.0.0"], + } as configUtils.UserConfig, + isPullRequest: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay analysis on PR when code-scanning feature enabled with queries", + { + languages: [Language.javascript], + features: [ + Feature.OverlayAnalysis, + Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + queries: [{ uses: "some-query.ql" }], + } as configUtils.UserConfig, + isPullRequest: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay analysis on PR when code-scanning feature enabled with query-filters", + { + languages: [Language.javascript], + features: [ + Feature.OverlayAnalysis, + Feature.OverlayAnalysisCodeScanningJavascript, + ], + codeScanningConfig: { + "query-filters": [{ include: { "security-severity": "high" } }], + } as configUtils.UserConfig, + isPullRequest: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay analysis on PR when only language-specific feature enabled", + { + languages: [Language.javascript], + features: [Feature.OverlayAnalysisJavascript], + isPullRequest: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay analysis on PR when only code-scanning feature enabled", + { + languages: [Language.javascript], + features: [Feature.OverlayAnalysisCodeScanningJavascript], + isPullRequest: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, +); + +test( + getOverlayDatabaseModeMacro, + "No overlay analysis on PR when language-specific feature disabled", + { + languages: [Language.javascript], + features: [Feature.OverlayAnalysis], isPullRequest: true, }, { @@ -1447,7 +1727,8 @@ test( getOverlayDatabaseModeMacro, "Overlay PR analysis by feature flag for dsp-testing", { - isFeatureEnabled: true, + languages: [Language.javascript], + features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript], isPullRequest: true, repositoryOwner: "dsp-testing", }, @@ -1461,7 +1742,8 @@ test( getOverlayDatabaseModeMacro, "No overlay PR analysis by feature flag for other-org", { - isFeatureEnabled: true, + languages: [Language.javascript], + features: [Feature.OverlayAnalysis, Feature.OverlayAnalysisJavascript], isPullRequest: true, repositoryOwner: "other-org", }, @@ -1524,3 +1806,20 @@ test( useOverlayDatabaseCaching: false, }, ); + +// Exercise language-specific overlay analysis features code paths +for (const language in Language) { + test( + getOverlayDatabaseModeMacro, + `Check default overlay analysis feature for ${language}`, + { + languages: [language as Language], + features: [Feature.OverlayAnalysis], + isPullRequest: true, + }, + { + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, + }, + ); +} diff --git a/src/config-utils.ts b/src/config-utils.ts index 71f85edc7d..0c42f671a3 100644 --- a/src/config-utils.ts +++ b/src/config-utils.ts @@ -8,7 +8,7 @@ import * as semver from "semver"; import { isAnalyzingPullRequest } from "./actions-util"; import * as api from "./api-client"; import { CachingKind, getCachingKind } from "./caching-utils"; -import { CodeQL } from "./codeql"; +import { type CodeQL } from "./codeql"; import { shouldPerformDiffInformedAnalysis } from "./diff-informed-analysis-utils"; import { Feature, FeatureEnablement } from "./feature-flags"; import { getGitRoot, isAnalyzingDefaultBranch } from "./git-utils"; @@ -26,6 +26,7 @@ import { ConfigurationError, BuildMode, codeQlVersionAtLeast, + cloneObject, } from "./util"; // Property names from the user-supplied config file. @@ -195,7 +196,7 @@ export interface AugmentationProperties { /** * Extra query exclusions to append to the config. */ - extraQueryExclusions?: ExcludeQueryFilter[]; + extraQueryExclusions: ExcludeQueryFilter[]; /** * The overlay database mode to use. @@ -459,17 +460,8 @@ export interface InitConfigInputs { logger: Logger; } -type GetDefaultConfigInputs = Omit< - InitConfigInputs, - "configFile" | "configInput" ->; - -type LoadConfigInputs = Omit & { - configFile: string; -}; - /** - * Get the default config for when the user has not supplied one. + * Get the default config, populated without user configuration file. */ export async function getDefaultConfig({ languagesInput, @@ -486,11 +478,10 @@ export async function getDefaultConfig({ repository, tempDir, codeql, - sourceRoot, githubVersion, features, logger, -}: GetDefaultConfigInputs): Promise { +}: InitConfigInputs): Promise { const languages = await getLanguages( codeql, languagesInput, @@ -506,16 +497,10 @@ export async function getDefaultConfig({ ); const augmentationProperties = await calculateAugmentation( - codeql, - repository, - features, packsInput, queriesInput, qualityQueriesInput, languages, - sourceRoot, - buildMode, - logger, ); const { trapCaches, trapCacheDownloadTime } = await downloadCacheWithTime( @@ -562,34 +547,12 @@ async function downloadCacheWithTime( return { trapCaches, trapCacheDownloadTime }; } -/** - * Load the config from the given file. - */ -async function loadConfig({ - languagesInput, - queriesInput, - qualityQueriesInput, - packsInput, - buildModeInput, - configFile, - dbLocation, - trapCachingEnabled, - dependencyCachingEnabled, - debugMode, - debugArtifactName, - debugDatabaseName, - repository, - tempDir, - codeql, - workspacePath, - sourceRoot, - githubVersion, - apiDetails, - features, - logger, -}: LoadConfigInputs): Promise { - let parsedYAML: UserConfig; - +async function loadUserConfig( + configFile: string, + workspacePath: string, + apiDetails: api.GitHubApiCombinedDetails, + tempDir: string, +): Promise { if (isLocal(configFile)) { if (configFile !== userConfigFromActionPath(tempDir)) { // If the config file is not generated by the Action, it should be relative to the workspace. @@ -601,61 +564,10 @@ async function loadConfig({ ); } } - parsedYAML = getLocalConfig(configFile); + return getLocalConfig(configFile); } else { - parsedYAML = await getRemoteConfig(configFile, apiDetails); + return await getRemoteConfig(configFile, apiDetails); } - - const languages = await getLanguages( - codeql, - languagesInput, - repository, - logger, - ); - - const buildMode = await parseBuildModeInput( - buildModeInput, - languages, - features, - logger, - ); - - const augmentationProperties = await calculateAugmentation( - codeql, - repository, - features, - packsInput, - queriesInput, - qualityQueriesInput, - languages, - sourceRoot, - buildMode, - logger, - ); - - const { trapCaches, trapCacheDownloadTime } = await downloadCacheWithTime( - trapCachingEnabled, - codeql, - languages, - logger, - ); - - return { - languages, - buildMode, - originalUserInput: parsedYAML, - tempDir, - codeQLCmd: codeql.getPath(), - gitHubVersion: githubVersion, - dbLocation: dbLocationOrDefault(dbLocation, tempDir), - debugMode, - debugArtifactName, - debugDatabaseName, - augmentationProperties, - trapCaches, - trapCacheDownloadTime, - dependencyCachingEnabled: getCachingKind(dependencyCachingEnabled), - }; } /** @@ -665,17 +577,11 @@ async function loadConfig({ * and the CLI does not know about these inputs so we need to inject them into * the config file sent to the CLI. * - * @param codeql The CodeQL object. - * @param repository The repository to analyze. - * @param features The feature enablement object. * @param rawPacksInput The packs input from the action configuration. * @param rawQueriesInput The queries input from the action configuration. * @param languages The languages that the config file is for. If the packs input * is non-empty, then there must be exactly one language. Otherwise, an * error is thrown. - * @param sourceRoot The source root of the repository. - * @param buildMode The build mode to use. - * @param logger The logger to use for logging. * * @returns The properties that need to be augmented in the config file. * @@ -684,16 +590,10 @@ async function loadConfig({ */ // exported for testing. export async function calculateAugmentation( - codeql: CodeQL, - repository: RepositoryNwo, - features: FeatureEnablement, rawPacksInput: string | undefined, rawQueriesInput: string | undefined, rawQualityQueriesInput: string | undefined, languages: Language[], - sourceRoot: string, - buildMode: BuildMode | undefined, - logger: Logger, ): Promise { const packsInputCombines = shouldCombine(rawPacksInput); const packsInput = parsePacksFromInput( @@ -706,42 +606,21 @@ export async function calculateAugmentation( rawQueriesInput, queriesInputCombines, ); - const { overlayDatabaseMode, useOverlayDatabaseCaching } = - await getOverlayDatabaseMode( - codeql, - repository, - features, - languages, - sourceRoot, - buildMode, - logger, - ); - logger.info( - `Using overlay database mode: ${overlayDatabaseMode} ` + - `${useOverlayDatabaseCaching ? "with" : "without"} caching.`, - ); const qualityQueriesInput = parseQueriesFromInput( rawQualityQueriesInput, false, ); - const extraQueryExclusions: ExcludeQueryFilter[] = []; - if (await shouldPerformDiffInformedAnalysis(codeql, features, logger)) { - extraQueryExclusions.push({ - exclude: { tags: "exclude-from-incremental" }, - }); - } - return { packsInputCombines, packsInput: packsInput?.[languages[0]], queriesInput, queriesInputCombines, qualityQueriesInput, - extraQueryExclusions, - overlayDatabaseMode, - useOverlayDatabaseCaching, + extraQueryExclusions: [], + overlayDatabaseMode: OverlayDatabaseMode.None, + useOverlayDatabaseCaching: false, }; } @@ -768,6 +647,78 @@ function parseQueriesFromInput( return trimmedInput.split(",").map((query) => ({ uses: query.trim() })); } +const OVERLAY_ANALYSIS_FEATURES: Record = { + actions: Feature.OverlayAnalysisActions, + cpp: Feature.OverlayAnalysisCpp, + csharp: Feature.OverlayAnalysisCsharp, + go: Feature.OverlayAnalysisGo, + java: Feature.OverlayAnalysisJava, + javascript: Feature.OverlayAnalysisJavascript, + python: Feature.OverlayAnalysisPython, + ruby: Feature.OverlayAnalysisRuby, + rust: Feature.OverlayAnalysisRust, + swift: Feature.OverlayAnalysisSwift, +}; + +const OVERLAY_ANALYSIS_CODE_SCANNING_FEATURES: Record = { + actions: Feature.OverlayAnalysisCodeScanningActions, + cpp: Feature.OverlayAnalysisCodeScanningCpp, + csharp: Feature.OverlayAnalysisCodeScanningCsharp, + go: Feature.OverlayAnalysisCodeScanningGo, + java: Feature.OverlayAnalysisCodeScanningJava, + javascript: Feature.OverlayAnalysisCodeScanningJavascript, + python: Feature.OverlayAnalysisCodeScanningPython, + ruby: Feature.OverlayAnalysisCodeScanningRuby, + rust: Feature.OverlayAnalysisCodeScanningRust, + swift: Feature.OverlayAnalysisCodeScanningSwift, +}; + +async function isOverlayAnalysisFeatureEnabled( + repository: RepositoryNwo, + features: FeatureEnablement, + codeql: CodeQL, + languages: Language[], + codeScanningConfig: UserConfig, +): Promise { + // TODO: Remove the repository owner check once support for overlay analysis + // stabilizes, and no more backward-incompatible changes are expected. + if (!["github", "dsp-testing"].includes(repository.owner)) { + return false; + } + if (!(await features.getValue(Feature.OverlayAnalysis, codeql))) { + return false; + } + let enableForCodeScanningOnly = false; + for (const language of languages) { + const feature = OVERLAY_ANALYSIS_FEATURES[language]; + if (feature && (await features.getValue(feature, codeql))) { + continue; + } + const codeScanningFeature = + OVERLAY_ANALYSIS_CODE_SCANNING_FEATURES[language]; + if ( + codeScanningFeature && + (await features.getValue(codeScanningFeature, codeql)) + ) { + enableForCodeScanningOnly = true; + continue; + } + return false; + } + if (enableForCodeScanningOnly) { + // A code-scanning configuration runs only the (default) code-scanning suite + // if the default queries are not disabled, and no packs, queries, or + // query-filters are specified. + return ( + codeScanningConfig["disable-default-queries"] !== true && + codeScanningConfig.packs === undefined && + codeScanningConfig.queries === undefined && + codeScanningConfig["query-filters"] === undefined + ); + } + return true; +} + /** * Calculate and validate the overlay database mode and caching to use. * @@ -796,6 +747,7 @@ export async function getOverlayDatabaseMode( languages: Language[], sourceRoot: string, buildMode: BuildMode | undefined, + codeScanningConfig: UserConfig, logger: Logger, ): Promise<{ overlayDatabaseMode: OverlayDatabaseMode; @@ -818,10 +770,13 @@ export async function getOverlayDatabaseMode( "from the CODEQL_OVERLAY_DATABASE_MODE environment variable.", ); } else if ( - // TODO: Remove the repository owner check once support for overlay analysis - // stabilizes, and no more backward-incompatible changes are expected. - ["github", "dsp-testing"].includes(repository.owner) && - (await features.getValue(Feature.OverlayAnalysis, codeql)) + await isOverlayAnalysisFeatureEnabled( + repository, + features, + codeql, + languages, + codeScanningConfig, + ) ) { if (isAnalyzingPullRequest()) { overlayDatabaseMode = OverlayDatabaseMode.Overlay; @@ -1053,8 +1008,6 @@ function userConfigFromActionPath(tempDir: string): string { * a default config. The parsed config is then stored to a known location. */ export async function initConfig(inputs: InitConfigInputs): Promise { - let config: Config; - const { logger, tempDir } = inputs; // if configInput is set, it takes precedence over configFile @@ -1069,13 +1022,56 @@ export async function initConfig(inputs: InitConfigInputs): Promise { logger.debug(`Using config from action input: ${inputs.configFile}`); } - // If no config file was provided create an empty one + let userConfig: UserConfig = {}; if (!inputs.configFile) { logger.debug("No configuration file was provided"); - config = await getDefaultConfig(inputs); } else { - // Convince the type checker that inputs.configFile is defined. - config = await loadConfig({ ...inputs, configFile: inputs.configFile }); + logger.debug(`Using configuration file: ${inputs.configFile}`); + userConfig = await loadUserConfig( + inputs.configFile, + inputs.workspacePath, + inputs.apiDetails, + tempDir, + ); + } + + const config = await getDefaultConfig(inputs); + const augmentationProperties = config.augmentationProperties; + config.originalUserInput = userConfig; + + // The choice of overlay database mode depends on the selection of languages + // and queries, which in turn depends on the user config and the augmentation + // properties. So we need to calculate the overlay database mode after the + // rest of the config has been populated. + const { overlayDatabaseMode, useOverlayDatabaseCaching } = + await getOverlayDatabaseMode( + inputs.codeql, + inputs.repository, + inputs.features, + config.languages, + inputs.sourceRoot, + config.buildMode, + generateCodeScanningConfig(userConfig, augmentationProperties), + logger, + ); + logger.info( + `Using overlay database mode: ${overlayDatabaseMode} ` + + `${useOverlayDatabaseCaching ? "with" : "without"} caching.`, + ); + augmentationProperties.overlayDatabaseMode = overlayDatabaseMode; + augmentationProperties.useOverlayDatabaseCaching = useOverlayDatabaseCaching; + + if ( + overlayDatabaseMode === OverlayDatabaseMode.Overlay || + (await shouldPerformDiffInformedAnalysis( + inputs.codeql, + inputs.features, + logger, + )) + ) { + augmentationProperties.extraQueryExclusions.push({ + exclude: { tags: "exclude-from-incremental" }, + }); } // Save the config so we can easily access it again in the future @@ -1355,3 +1351,64 @@ export async function parseBuildModeInput( } return input as BuildMode; } + +export function generateCodeScanningConfig( + originalUserInput: UserConfig, + augmentationProperties: AugmentationProperties, +): UserConfig { + // make a copy so we can modify it + const augmentedConfig = cloneObject(originalUserInput); + + // Inject the queries from the input + if (augmentationProperties.queriesInput) { + if (augmentationProperties.queriesInputCombines) { + augmentedConfig.queries = (augmentedConfig.queries || []).concat( + augmentationProperties.queriesInput, + ); + } else { + augmentedConfig.queries = augmentationProperties.queriesInput; + } + } + if (augmentedConfig.queries?.length === 0) { + delete augmentedConfig.queries; + } + + // Inject the packs from the input + if (augmentationProperties.packsInput) { + if (augmentationProperties.packsInputCombines) { + // At this point, we already know that this is a single-language analysis + if (Array.isArray(augmentedConfig.packs)) { + augmentedConfig.packs = (augmentedConfig.packs || []).concat( + augmentationProperties.packsInput, + ); + } else if (!augmentedConfig.packs) { + augmentedConfig.packs = augmentationProperties.packsInput; + } else { + // At this point, we know there is only one language. + // If there were more than one language, an error would already have been thrown. + const language = Object.keys(augmentedConfig.packs)[0]; + augmentedConfig.packs[language] = augmentedConfig.packs[ + language + ].concat(augmentationProperties.packsInput); + } + } else { + augmentedConfig.packs = augmentationProperties.packsInput; + } + } + if (Array.isArray(augmentedConfig.packs) && !augmentedConfig.packs.length) { + delete augmentedConfig.packs; + } + + augmentedConfig["query-filters"] = [ + // Ordering matters. If the first filter is an inclusion, it implicitly + // excludes all queries that are not included. If it is an exclusion, + // it implicitly includes all queries that are not excluded. So user + // filters (if any) should always be first to preserve intent. + ...(augmentedConfig["query-filters"] || []), + ...augmentationProperties.extraQueryExclusions, + ]; + if (augmentedConfig["query-filters"]?.length === 0) { + delete augmentedConfig["query-filters"]; + } + return augmentedConfig; +} diff --git a/src/feature-flags.test.ts b/src/feature-flags.test.ts index 4747137330..ae9f079cab 100644 --- a/src/feature-flags.test.ts +++ b/src/feature-flags.test.ts @@ -15,11 +15,13 @@ import { getRunnerLogger } from "./logging"; import { parseRepositoryNwo } from "./repository"; import { getRecordingLogger, + initializeFeatures, LoggedMessage, mockCodeQLVersion, mockFeatureFlagApiEndpoint, setupActionsVars, setupTests, + stubFeatureFlagApiEndpoint, } from "./testing-utils"; import { ToolsFeature } from "./tools-features"; import * as util from "./util"; @@ -131,6 +133,29 @@ test("Features use default value if they're not returned in API response", async }); }); +test("Include no more than 25 features in each API request", async (t) => { + await withTmpDir(async (tmpDir) => { + const features = setUpFeatureFlagTests(tmpDir); + + stubFeatureFlagApiEndpoint((request) => { + const requestedFeatures = (request.features as string).split(","); + return { + status: requestedFeatures.length <= 25 ? 200 : 400, + messageIfError: "Can request a maximum of 25 features.", + data: {}, + }; + }); + + // We only need to call getValue once, and it does not matter which feature + // we ask for. Under the hood, the features library will request all features + // from the API. + const feature = Object.values(Feature)[0]; + await t.notThrowsAsync(async () => + features.getValue(feature, includeCodeQlIfRequired(feature)), + ); + }); +}); + test("Feature flags exception is propagated if the API request errors", async (t) => { await withTmpDir(async (tmpDir) => { const features = setUpFeatureFlagTests(tmpDir); @@ -552,13 +577,6 @@ function assertAllFeaturesUndefinedInApi( } } -export function initializeFeatures(initialValue: boolean) { - return Object.keys(featureConfig).reduce((features, key) => { - features[key] = initialValue; - return features; - }, {}); -} - function setUpFeatureFlagTests( tmpDir: string, logger = getRunnerLogger(true), diff --git a/src/feature-flags.ts b/src/feature-flags.ts index 0ee38bd911..826ec59dec 100644 --- a/src/feature-flags.ts +++ b/src/feature-flags.ts @@ -54,6 +54,26 @@ export enum Feature { ExportDiagnosticsEnabled = "export_diagnostics_enabled", ExtractToToolcache = "extract_to_toolcache", OverlayAnalysis = "overlay_analysis", + OverlayAnalysisActions = "overlay_analysis_actions", + OverlayAnalysisCodeScanningActions = "overlay_analysis_code_scanning_actions", + OverlayAnalysisCodeScanningCpp = "overlay_analysis_code_scanning_cpp", + OverlayAnalysisCodeScanningCsharp = "overlay_analysis_code_scanning_csharp", + OverlayAnalysisCodeScanningGo = "overlay_analysis_code_scanning_go", + OverlayAnalysisCodeScanningJava = "overlay_analysis_code_scanning_java", + OverlayAnalysisCodeScanningJavascript = "overlay_analysis_code_scanning_javascript", + OverlayAnalysisCodeScanningPython = "overlay_analysis_code_scanning_python", + OverlayAnalysisCodeScanningRuby = "overlay_analysis_code_scanning_ruby", + OverlayAnalysisCodeScanningRust = "overlay_analysis_code_scanning_rust", + OverlayAnalysisCodeScanningSwift = "overlay_analysis_code_scanning_swift", + OverlayAnalysisCpp = "overlay_analysis_cpp", + OverlayAnalysisCsharp = "overlay_analysis_csharp", + OverlayAnalysisGo = "overlay_analysis_go", + OverlayAnalysisJava = "overlay_analysis_java", + OverlayAnalysisJavascript = "overlay_analysis_javascript", + OverlayAnalysisPython = "overlay_analysis_python", + OverlayAnalysisRuby = "overlay_analysis_ruby", + OverlayAnalysisRust = "overlay_analysis_rust", + OverlayAnalysisSwift = "overlay_analysis_swift", PythonDefaultIsToNotExtractStdlib = "python_default_is_to_not_extract_stdlib", QaTelemetryEnabled = "qa_telemetry_enabled", RustAnalysis = "rust_analysis", @@ -155,6 +175,106 @@ export const featureConfig: Record< envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS", minimumVersion: CODEQL_OVERLAY_MINIMUM_VERSION, }, + [Feature.OverlayAnalysisActions]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_ACTIONS", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningActions]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_ACTIONS", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningCpp]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CPP", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningCsharp]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_CSHARP", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningGo]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_GO", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningJava]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVA", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningJavascript]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_JAVASCRIPT", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningPython]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_PYTHON", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningRuby]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUBY", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningRust]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_RUST", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCodeScanningSwift]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CODE_SCANNING_SWIFT", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCpp]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CPP", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisCsharp]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_CSHARP", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisGo]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_GO", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisJava]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVA", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisJavascript]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_JAVASCRIPT", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisPython]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_PYTHON", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisRuby]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUBY", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisRust]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_RUST", + minimumVersion: undefined, + }, + [Feature.OverlayAnalysisSwift]: { + defaultValue: false, + envVar: "CODEQL_ACTION_OVERLAY_ANALYSIS_SWIFT", + minimumVersion: undefined, + }, [Feature.PythonDefaultIsToNotExtractStdlib]: { defaultValue: false, envVar: "CODEQL_ACTION_DISABLE_PYTHON_STANDARD_LIBRARY_EXTRACTION", @@ -502,18 +622,29 @@ class GitHubFeatureFlags { try { const featuresToRequest = Object.entries(featureConfig) .filter(([, config]) => !config.legacyApi) - .map(([f]) => f) - .join(","); - - const response = await getApiClient().request( - "GET /repos/:owner/:repo/code-scanning/codeql-action/features", - { - owner: this.repositoryNwo.owner, - repo: this.repositoryNwo.repo, - features: featuresToRequest, - }, - ); - const remoteFlags = response.data as GitHubFeatureFlagsApiResponse; + .map(([f]) => f); + + const FEATURES_PER_REQUEST = 25; + const featureChunks: string[][] = []; + while (featuresToRequest.length > 0) { + featureChunks.push(featuresToRequest.splice(0, FEATURES_PER_REQUEST)); + } + + let remoteFlags: GitHubFeatureFlagsApiResponse = {}; + + for (const chunk of featureChunks) { + const response = await getApiClient().request( + "GET /repos/:owner/:repo/code-scanning/codeql-action/features", + { + owner: this.repositoryNwo.owner, + repo: this.repositoryNwo.repo, + features: chunk.join(","), + }, + ); + const chunkFlags = response.data as GitHubFeatureFlagsApiResponse; + remoteFlags = { ...remoteFlags, ...chunkFlags }; + } + this.logger.debug( "Loaded the following default values for the feature flags from the Code Scanning API:", ); diff --git a/src/setup-codeql.test.ts b/src/setup-codeql.test.ts index 04fb54f7ad..ac015953bd 100644 --- a/src/setup-codeql.test.ts +++ b/src/setup-codeql.test.ts @@ -5,7 +5,6 @@ import * as sinon from "sinon"; import * as actionsUtil from "./actions-util"; import { Feature, FeatureEnablement } from "./feature-flags"; -import { initializeFeatures } from "./feature-flags.test"; import { getRunnerLogger } from "./logging"; import * as setupCodeql from "./setup-codeql"; import { @@ -14,6 +13,7 @@ import { SAMPLE_DEFAULT_CLI_VERSION, SAMPLE_DOTCOM_API_DETAILS, getRecordingLogger, + initializeFeatures, mockBundleDownloadApi, setupActionsVars, setupTests, diff --git a/src/testing-utils.ts b/src/testing-utils.ts index f42b0b1e71..2a93c701cd 100644 --- a/src/testing-utils.ts +++ b/src/testing-utils.ts @@ -14,6 +14,7 @@ import * as defaults from "./defaults.json"; import { CodeQLDefaultVersionInfo, Feature, + featureConfig, FeatureEnablement, } from "./feature-flags"; import { Logger } from "./logging"; @@ -179,6 +180,21 @@ export function getRecordingLogger(messages: LoggedMessage[]): Logger { export function mockFeatureFlagApiEndpoint( responseStatusCode: number, response: { [flagName: string]: boolean }, +) { + stubFeatureFlagApiEndpoint(() => ({ + status: responseStatusCode, + messageIfError: "some error message", + data: response, + })); +} + +/** Stub the HTTP request to the feature flags enablement API endpoint. */ +export function stubFeatureFlagApiEndpoint( + responseFunction: (params: any) => { + status: number; + messageIfError?: string; + data: { [flagName: string]: boolean }; + }, ) { // Passing an auth token is required, so we just use a dummy value const client = github.getOctokit("123"); @@ -188,16 +204,23 @@ export function mockFeatureFlagApiEndpoint( const optInSpy = requestSpy.withArgs( "GET /repos/:owner/:repo/code-scanning/codeql-action/features", ); - if (responseStatusCode < 300) { - optInSpy.resolves({ - status: responseStatusCode, - data: response, - headers: {}, - url: "GET /repos/:owner/:repo/code-scanning/codeql-action/features", - }); - } else { - optInSpy.throws(new HTTPError("some error message", responseStatusCode)); - } + + optInSpy.callsFake((_route, params) => { + const response = responseFunction(params); + if (response.status < 300) { + return Promise.resolve({ + status: response.status, + data: response.data, + headers: {}, + url: "GET /repos/:owner/:repo/code-scanning/codeql-action/features", + }); + } else { + throw new HTTPError( + response.messageIfError || "default stub error message", + response.status, + ); + } + }); sinon.stub(apiClient, "getApiClient").value(() => client); } @@ -263,6 +286,13 @@ export function createFeatures(enabledFeatures: Feature[]): FeatureEnablement { }; } +export function initializeFeatures(initialValue: boolean) { + return Object.keys(featureConfig).reduce((features, key) => { + features[key] = initialValue; + return features; + }, {}); +} + /** * Mocks the API for downloading the bundle tagged `tagName`. * @@ -335,6 +365,7 @@ export function createTestConfig(overrides: Partial): Config { augmentationProperties: { packsInputCombines: false, queriesInputCombines: false, + extraQueryExclusions: [], }, trapCaches: {}, trapCacheDownloadTime: 0, diff --git a/src/trap-caching.ts b/src/trap-caching.ts index 73491a13ee..74b3581ffa 100644 --- a/src/trap-caching.ts +++ b/src/trap-caching.ts @@ -5,8 +5,8 @@ import * as actionsCache from "@actions/cache"; import * as actionsUtil from "./actions-util"; import * as apiClient from "./api-client"; -import { CodeQL } from "./codeql"; -import type { Config } from "./config-utils"; +import { type CodeQL } from "./codeql"; +import { type Config } from "./config-utils"; import { DocUrl } from "./doc-url"; import { Feature, FeatureEnablement } from "./feature-flags"; import * as gitUtils from "./git-utils";