diff --git a/.buildkite/pipelines/es_snapshots/verify.yml b/.buildkite/pipelines/es_snapshots/verify.yml index 18f3440b4acf7..e90781961b3f0 100755 --- a/.buildkite/pipelines/es_snapshots/verify.yml +++ b/.buildkite/pipelines/es_snapshots/verify.yml @@ -29,7 +29,7 @@ steps: - command: .buildkite/scripts/steps/functional/xpack_cigroup.sh label: 'Default CI Group' - parallelism: 27 + parallelism: 29 agents: queue: n2-4 depends_on: build @@ -40,18 +40,6 @@ steps: - exit_status: '*' limit: 1 - - command: CI_GROUP=Docker .buildkite/scripts/steps/functional/xpack_cigroup.sh - label: 'Docker CI Group' - agents: - queue: n2-4 - depends_on: build - timeout_in_minutes: 120 - key: default-cigroup-docker - retry: - automatic: - - exit_status: '*' - limit: 1 - - command: .buildkite/scripts/steps/functional/oss_cigroup.sh label: 'OSS CI Group' parallelism: 11 diff --git a/.buildkite/pipelines/flaky_tests/groups.json b/.buildkite/pipelines/flaky_tests/groups.json index 0a5d0d488cd5d..4f73796a18f44 100644 --- a/.buildkite/pipelines/flaky_tests/groups.json +++ b/.buildkite/pipelines/flaky_tests/groups.json @@ -32,11 +32,7 @@ { "key": "xpack/cigroup", "name": "Default CI Group", - "ciGroups": 27 - }, - { - "key": "xpack/cigroup/Docker", - "name": "Default CI Group Docker" + "ciGroups": 29 }, { "key": "xpack/firefox", @@ -47,4 +43,4 @@ "name": "Default Accessibility" } ] -} \ No newline at end of file +} diff --git a/.buildkite/pipelines/on_merge.yml b/.buildkite/pipelines/on_merge.yml index a11f566b06093..fc0ea2b833632 100644 --- a/.buildkite/pipelines/on_merge.yml +++ b/.buildkite/pipelines/on_merge.yml @@ -51,7 +51,7 @@ steps: - command: .buildkite/scripts/steps/functional/xpack_cigroup.sh label: 'Default CI Group' - parallelism: 27 + parallelism: 29 agents: queue: n2-4-spot depends_on: build @@ -64,20 +64,6 @@ steps: - exit_status: '*' limit: 1 - - command: CI_GROUP=Docker .buildkite/scripts/steps/functional/xpack_cigroup.sh - label: 'Docker CI Group' - agents: - queue: n2-4-spot - depends_on: build - timeout_in_minutes: 120 - key: default-cigroup-docker - retry: - automatic: - - exit_status: '-1' - limit: 3 - - exit_status: '*' - limit: 1 - - command: .buildkite/scripts/steps/functional/oss_cigroup.sh label: 'OSS CI Group' parallelism: 11 diff --git a/.buildkite/pipelines/pull_request/base.yml b/.buildkite/pipelines/pull_request/base.yml index a88799d785f06..88de80eae0312 100644 --- a/.buildkite/pipelines/pull_request/base.yml +++ b/.buildkite/pipelines/pull_request/base.yml @@ -17,7 +17,7 @@ steps: - command: .buildkite/scripts/steps/functional/xpack_cigroup.sh label: 'Default CI Group' - parallelism: 27 + parallelism: 29 agents: queue: n2-4 depends_on: build @@ -28,18 +28,6 @@ steps: - exit_status: '*' limit: 1 - - command: CI_GROUP=Docker .buildkite/scripts/steps/functional/xpack_cigroup.sh - label: 'Docker CI Group' - agents: - queue: n2-4 - depends_on: build - timeout_in_minutes: 120 - key: default-cigroup-docker - retry: - automatic: - - exit_status: '*' - limit: 1 - - command: .buildkite/scripts/steps/functional/oss_cigroup.sh label: 'OSS CI Group' parallelism: 11 diff --git a/.ci/ci_groups.yml b/.ci/ci_groups.yml index 1be6e8c196a2d..12d73c927489b 100644 --- a/.ci/ci_groups.yml +++ b/.ci/ci_groups.yml @@ -39,4 +39,5 @@ xpack: - ciGroup25 - ciGroup26 - ciGroup27 - - ciGroupDocker + - ciGroup28 + - ciGroup29 diff --git a/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js b/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js index e12ffdc8cd616..b9d4ed6ef7b5e 100644 --- a/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js +++ b/packages/kbn-test/src/functional_test_runner/lib/mocha/decorate_mocha_ui.js @@ -12,16 +12,7 @@ import { createAssignmentProxy } from './assignment_proxy'; import { wrapFunction } from './wrap_function'; import { wrapRunnableArgs } from './wrap_runnable_args'; -function split(arr, fn) { - const a = []; - const b = []; - for (const i of arr) { - (fn(i) ? a : b).push(i); - } - return [a, b]; -} - -export function decorateMochaUi(log, lifecycle, context, { isDockerGroup, rootTags }) { +export function decorateMochaUi(log, lifecycle, context, { rootTags }) { // incremented at the start of each suite, decremented after // so that in each non-suite call we can know if we are within // a suite, or that when a suite is defined it is within a suite @@ -63,7 +54,7 @@ export function decorateMochaUi(log, lifecycle, context, { isDockerGroup, rootTa const relativeFilePath = relative(REPO_ROOT, this.file); this._tags = [ - ...(isDockerGroup ? ['ciGroupDocker', relativeFilePath] : [relativeFilePath]), + relativeFilePath, // we attach the "root tags" to all the child suites of the root suite, so that if they // need to be excluded they can be removed from the root suite without removing the entire // root suite @@ -71,17 +62,7 @@ export function decorateMochaUi(log, lifecycle, context, { isDockerGroup, rootTa ]; this.suiteTag = relativeFilePath; // The tag that uniquely targets this suite/file this.tags = (tags) => { - const newTags = Array.isArray(tags) ? tags : [tags]; - const [tagsToAdd, tagsToIgnore] = split(newTags, (t) => - !isDockerGroup ? true : !t.startsWith('ciGroup') - ); - - if (tagsToIgnore.length) { - log.warning( - `ignoring ciGroup tags because test is being run by a config using 'dockerServers', tags: ${tagsToIgnore}` - ); - } - + const tagsToAdd = Array.isArray(tags) ? tags : [tags]; this._tags = [...this._tags, ...tagsToAdd]; }; this.onlyEsVersion = (semver) => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/index.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/index.ts index 8936115ac6e59..d2050179abd0e 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/index.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/telemetry/index.ts @@ -11,7 +11,7 @@ import { FtrProviderContext } from '../../../common/ftr_provider_context'; export default ({ loadTestFile }: FtrProviderContext): void => { describe('Detection rule type telemetry', function () { describe('', function () { - this.tags('ciGroup11'); + this.tags('ciGroup28'); loadTestFile(require.resolve('./usage_collector/all_types')); loadTestFile(require.resolve('./usage_collector/detection_rules')); loadTestFile(require.resolve('./usage_collector/detection_rule_status')); diff --git a/x-pack/test/fleet_api_integration/apis/index.js b/x-pack/test/fleet_api_integration/apis/index.js index 435d7e4f99d6b..d7b93f87bc997 100644 --- a/x-pack/test/fleet_api_integration/apis/index.js +++ b/x-pack/test/fleet_api_integration/apis/index.js @@ -9,6 +9,8 @@ import { setupTestUsers } from './test_users'; export default function ({ loadTestFile, getService }) { describe('Fleet Endpoints', function () { + this.tags('ciGroup29'); + before(async () => { await setupTestUsers(getService('security')); }); diff --git a/x-pack/test/functional_synthetics/apps/uptime/index.ts b/x-pack/test/functional_synthetics/apps/uptime/index.ts index 64a9da5c30ea3..925731c769bfc 100644 --- a/x-pack/test/functional_synthetics/apps/uptime/index.ts +++ b/x-pack/test/functional_synthetics/apps/uptime/index.ts @@ -9,6 +9,7 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default ({ loadTestFile, getService }: FtrProviderContext) => { describe('Uptime app', function () { + this.tags('ciGroup8'); describe('with generated data', () => { loadTestFile(require.resolve('./synthetics_integration')); }); diff --git a/x-pack/test/search_sessions_integration/tests/apps/dashboard/async_search/index.ts b/x-pack/test/search_sessions_integration/tests/apps/dashboard/async_search/index.ts index a534da5b2572b..b87f43f73ed2e 100644 --- a/x-pack/test/search_sessions_integration/tests/apps/dashboard/async_search/index.ts +++ b/x-pack/test/search_sessions_integration/tests/apps/dashboard/async_search/index.ts @@ -14,7 +14,7 @@ export default function ({ loadTestFile, getService, getPageObjects }: FtrProvid const searchSessions = getService('searchSessions'); describe('Dashboard', function () { - this.tags('ciGroup3'); + this.tags('ciGroup5'); before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); diff --git a/x-pack/test/search_sessions_integration/tests/apps/dashboard/session_sharing/index.ts b/x-pack/test/search_sessions_integration/tests/apps/dashboard/session_sharing/index.ts index d06d5d5ebd6ab..6a13dc268b705 100644 --- a/x-pack/test/search_sessions_integration/tests/apps/dashboard/session_sharing/index.ts +++ b/x-pack/test/search_sessions_integration/tests/apps/dashboard/session_sharing/index.ts @@ -13,7 +13,7 @@ export default function ({ loadTestFile, getService, getPageObjects }: FtrProvid const PageObjects = getPageObjects(['common']); describe('Search session sharing', function () { - this.tags('ciGroup3'); + this.tags('ciGroup5'); before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); diff --git a/x-pack/test/search_sessions_integration/tests/apps/discover/index.ts b/x-pack/test/search_sessions_integration/tests/apps/discover/index.ts index 31fcb61cf2278..1f8d219674428 100644 --- a/x-pack/test/search_sessions_integration/tests/apps/discover/index.ts +++ b/x-pack/test/search_sessions_integration/tests/apps/discover/index.ts @@ -14,7 +14,7 @@ export default function ({ loadTestFile, getService, getPageObjects }: FtrProvid const searchSessions = getService('searchSessions'); describe('Discover', function () { - this.tags('ciGroup3'); + this.tags('ciGroup5'); before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); diff --git a/x-pack/test/search_sessions_integration/tests/apps/lens/index.ts b/x-pack/test/search_sessions_integration/tests/apps/lens/index.ts index c559af88fd9d9..5e45db7bd7233 100644 --- a/x-pack/test/search_sessions_integration/tests/apps/lens/index.ts +++ b/x-pack/test/search_sessions_integration/tests/apps/lens/index.ts @@ -12,7 +12,7 @@ export default function ({ loadTestFile, getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); describe('lens search sessions', function () { - this.tags('ciGroup3'); + this.tags('ciGroup5'); before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); diff --git a/x-pack/test/search_sessions_integration/tests/apps/management/search_sessions/index.ts b/x-pack/test/search_sessions_integration/tests/apps/management/search_sessions/index.ts index d1e3d9408c0ca..b72d8db06a1d8 100644 --- a/x-pack/test/search_sessions_integration/tests/apps/management/search_sessions/index.ts +++ b/x-pack/test/search_sessions_integration/tests/apps/management/search_sessions/index.ts @@ -12,7 +12,7 @@ export default function ({ loadTestFile, getService }: FtrProviderContext) { const esArchiver = getService('esArchiver'); describe('search sessions management', function () { - this.tags('ciGroup3'); + this.tags('ciGroup5'); before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); diff --git a/x-pack/test/security_solution_endpoint/apps/endpoint/index.ts b/x-pack/test/security_solution_endpoint/apps/endpoint/index.ts index 70d60ba5c1b67..86daca1e4dab6 100644 --- a/x-pack/test/security_solution_endpoint/apps/endpoint/index.ts +++ b/x-pack/test/security_solution_endpoint/apps/endpoint/index.ts @@ -16,6 +16,7 @@ export default function (providerContext: FtrProviderContext) { const { loadTestFile, getService } = providerContext; describe('endpoint', function () { + this.tags('ciGroup7'); const ingestManager = getService('ingestManager'); const log = getService('log'); const endpointTestResources = getService('endpointTestResources'); diff --git a/x-pack/test/security_solution_endpoint_api_int/apis/index.ts b/x-pack/test/security_solution_endpoint_api_int/apis/index.ts index 94a5a9122f187..6b4861801e9c3 100644 --- a/x-pack/test/security_solution_endpoint_api_int/apis/index.ts +++ b/x-pack/test/security_solution_endpoint_api_int/apis/index.ts @@ -13,6 +13,8 @@ export default function endpointAPIIntegrationTests(providerContext: FtrProvider const { loadTestFile, getService } = providerContext; describe('Endpoint plugin', function () { + this.tags('ciGroup9'); + const ingestManager = getService('ingestManager'); const log = getService('log');