diff --git a/.buildkite/ftr_oblt_serverless_configs.yml b/.buildkite/ftr_oblt_serverless_configs.yml index 9534e62926f06..085c25f2d80a6 100644 --- a/.buildkite/ftr_oblt_serverless_configs.yml +++ b/.buildkite/ftr_oblt_serverless_configs.yml @@ -1,5 +1,6 @@ disabled: # Base config files, only necessary to inform config finding script + - x-pack/test_serverless/functional/test_suites/observability/cypress/oblt_config.base.ts # Cypress configs, for now these are still run manually - x-pack/test_serverless/functional/test_suites/observability/cypress/config_headless.ts diff --git a/.buildkite/ftr_oblt_stateful_configs.yml b/.buildkite/ftr_oblt_stateful_configs.yml index d9f557dac7f6a..4edf75f385816 100644 --- a/.buildkite/ftr_oblt_stateful_configs.yml +++ b/.buildkite/ftr_oblt_stateful_configs.yml @@ -10,6 +10,9 @@ disabled: - x-pack/plugins/observability_solution/profiling/e2e/ftr_config_runner.ts - x-pack/plugins/observability_solution/profiling/e2e/ftr_config.ts + #FTR configs + - x-pack/plugins/observability_solution/uptime/e2e/config.ts + # Elastic Synthetics configs - x-pack/plugins/observability_solution/uptime/e2e/uptime/synthetics_run.ts - x-pack/plugins/observability_solution/synthetics/e2e/config.ts diff --git a/.buildkite/ftr_platform_stateful_configs.yml b/.buildkite/ftr_platform_stateful_configs.yml index a0425f766f569..96c15cce513c6 100644 --- a/.buildkite/ftr_platform_stateful_configs.yml +++ b/.buildkite/ftr_platform_stateful_configs.yml @@ -8,6 +8,8 @@ disabled: - x-pack/test/functional_with_es_ssl/config.base.ts - x-pack/test/api_integration/config.ts - x-pack/test/fleet_api_integration/config.base.ts + - x-pack/test/functional_basic/apps/ml/config.base.ts + - x-pack/test/functional_basic/apps/transform/config.base.ts # QA suites that are run out-of-band - x-pack/test/stack_functional_integration/configs/config.stack_functional_integration_base.js diff --git a/.buildkite/ftr_security_serverless_configs.yml b/.buildkite/ftr_security_serverless_configs.yml index 51e3eba941c6b..3880175623fdd 100644 --- a/.buildkite/ftr_security_serverless_configs.yml +++ b/.buildkite/ftr_security_serverless_configs.yml @@ -1,5 +1,7 @@ disabled: # Base config files, only necessary to inform config finding script + - x-pack/test_serverless/functional/test_suites/security/cypress/security_config.base.ts + - x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts - x-pack/test/security_solution_api_integration/config/serverless/config.base.ts - x-pack/test/security_solution_api_integration/config/serverless/config.base.essentials.ts - x-pack/test/security_solution_api_integration/config/serverless/config.base.edr_workflows.ts diff --git a/.buildkite/ftr_security_stateful_configs.yml b/.buildkite/ftr_security_stateful_configs.yml index 8f1605b363e3d..a7931bab0a68d 100644 --- a/.buildkite/ftr_security_stateful_configs.yml +++ b/.buildkite/ftr_security_stateful_configs.yml @@ -5,6 +5,7 @@ disabled: - x-pack/test/security_solution_api_integration/config/ess/config.base.edr_workflows.trial.ts - x-pack/test/security_solution_api_integration/config/ess/config.base.edr_workflows.ts - x-pack/test/security_solution_api_integration/config/ess/config.base.basic.ts + - x-pack/test/security_solution_api_integration/config/ess/config.base.trial.ts - x-pack/test/security_solution_endpoint/configs/config.base.ts - x-pack/test/security_solution_endpoint/config.base.ts - x-pack/test/security_solution_endpoint_api_int/config.base.ts diff --git a/packages/kbn-test/src/functional_test_runner/lib/config/run_check_ftr_configs_cli.ts b/packages/kbn-test/src/functional_test_runner/lib/config/run_check_ftr_configs_cli.ts index 31afcac759357..57f819bb44771 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/config/run_check_ftr_configs_cli.ts +++ b/packages/kbn-test/src/functional_test_runner/lib/config/run_check_ftr_configs_cli.ts @@ -62,13 +62,36 @@ export async function runCheckFtrConfigsCli() { return false; } - if (file.match(/jest.config.(t|j)s$/)) { + if (file.match(/(jest(\.integration)?)\.config\.(t|j)s$/)) { return false; } - return readFileSync(file) - .toString() - .match(/(testRunner)|(testFiles)/); + if (file.match(/mocks.ts$/)) { + return false; + } + + const fileContent = readFileSync(file).toString(); + + if (fileContent.match(/(testRunner)|(testFiles)/)) { + // test config + return true; + } + + if (fileContent.match(/(describe)|(defineCypressConfig)/)) { + // test file or Cypress config + return false; + } + + // FTR config file should have default export + try { + // eslint-disable-next-line @typescript-eslint/no-var-requires + const exports = require(file); + const defaultExport = exports.__esModule ? exports.default : exports; + return !!defaultExport; + } catch (err) { + log.debug(`Failed to load file: ${err.message}`); + return false; + } }); const { allFtrConfigs, manifestPaths } = getAllFtrConfigsAndManifests(); @@ -77,10 +100,14 @@ export async function runCheckFtrConfigsCli() { if (invalid.length) { const invalidList = invalid.map((path) => Path.relative(REPO_ROOT, path)).join('\n - '); log.error( - `The following files look like FTR configs which are not listed in one of manifest files:\nstateful: ${manifestPaths.stateful}\nserverless: ${manifestPaths.serverless}\n - ${invalidList}` + `The following files look like FTR configs which are not listed in one of manifest files:\n${invalidList}\n +Make sure to add your new FTR config to the correct manifest file.\n +Stateful tests:\n${(manifestPaths.stateful as string[]).join('\n')}\n +Serverless tests:\n${(manifestPaths.serverless as string[]).join('\n')} + ` ); throw createFailError( - `Please add the listed paths to the correct manifest file. If it's not an FTR config, you can add it to the IGNORED_PATHS in ${THIS_REL} or contact #kibana-operations` + `Please add the listed paths to the correct manifest files. If it's not an FTR config, you can add it to the IGNORED_PATHS in ${THIS_REL} or contact #kibana-operations` ); } },