[ftr] split svl common configs with 4 extra groups (#218415)

## Summary

These 2 configs for all solutions take 35-39 minutes:

```
x-pack/test_serverless/functional/test_suites/<solution>/common_configs/config.group5.ts
x-pack/test_serverless/functional/test_suites/<solution>/common_configs/config.group6.ts
```

I added 4 additional groups under each solution and relocated some
configs to split original runtime by ~3:

```
x-pack/test_serverless/functional/test_suites/<solution>/common_configs/config.group9.ts
x-pack/test_serverless/functional/test_suites/<solution>/common_configs/config.group10.ts
x-pack/test_serverless/functional/test_suites/<solution>/common_configs/config.group11.ts
x-pack/test_serverless/functional/test_suites/<solution>/common_configs/config.group12.ts
```

It should help balancing configs better and retry failed ones faster.

After this PR groups runtime
|config path| runtime |
| ------------- | ------------- |

|x-pack/test_serverless/functional/test_suites/security/common_configs/config.group5.ts|
16m 15s |

|x-pack/test_serverless/functional/test_suites/security/common_configs/config.group6.ts|
18m 7s |

|x-pack/test_serverless/functional/test_suites/security/common_configs/config.group9.ts|
12m 7s |

|x-pack/test_serverless/functional/test_suites/security/common_configs/config.group10.ts
| 16m 13s |

|x-pack/test_serverless/functional/test_suites/security/common_configs/config.group11.ts|
14m 3s |

|x-pack/test_serverless/functional/test_suites/security/common_configs/config.group12.ts|
17m 47s |
This commit is contained in:
Dzmitry Lemechko 2025-04-16 18:34:55 +02:00 committed by GitHub
parent 0a6bc1b46c
commit dfed7627ac
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 281 additions and 22 deletions

View file

@ -27,6 +27,10 @@ enabled:
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group6.ts
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group7.ts
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group8.ts
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group9.ts
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group10.ts
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group11.ts
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group12.ts
- x-pack/test_serverless/functional/test_suites/observability/config.screenshots.ts
- x-pack/test_serverless/functional/test_suites/observability/config.telemetry.ts
# serverless config files that run deployment-agnostic tests

View file

@ -21,5 +21,9 @@ enabled:
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group6.ts
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group7.ts
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group8.ts
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group9.ts
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group10.ts
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group11.ts
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group12.ts
# serverless config files that run deployment-agnostic tests
- x-pack/test/api_integration/deployment_agnostic/configs/serverless/search.serverless.config.ts

View file

@ -49,6 +49,10 @@ enabled:
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group6.ts
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group7.ts
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group8.ts
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group9.ts
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group10.ts
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group11.ts
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group12.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/actions/trial_license_complete_tier/configs/serverless.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/alerts/basic_license_essentials_tier/configs/serverless.config.ts
- x-pack/test/security_solution_api_integration/test_suites/detections_response/detection_engine/alerts/trial_license_complete_tier/configs/serverless.config.ts

View file

@ -0,0 +1,23 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [
require.resolve('../../common/context'),
require.resolve('../../common/discover/esql'),
],
junit: {
reportName: 'Serverless Observability Functional Tests - Common Group 6',
},
};
}

View file

@ -0,0 +1,24 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [
require.resolve('../../common/discover/group3'),
require.resolve('../../common/discover/group4'),
require.resolve('../../common/discover/group5'),
],
junit: {
reportName: 'Serverless Observability Functional Tests - Common Group 11',
},
};
}

View file

@ -0,0 +1,20 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [require.resolve('../../common/discover/group6')],
junit: {
reportName: 'Serverless Observability Functional Tests - Common Group 12',
},
};
}

View file

@ -15,10 +15,6 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
testFiles: [
require.resolve('../../common/discover/group1'),
require.resolve('../../common/discover/group2'),
require.resolve('../../common/discover/group3'),
require.resolve('../../common/discover/group4'),
require.resolve('../../common/discover/group5'),
require.resolve('../../common/discover/group6'),
],
junit: {
reportName: 'Serverless Observability Functional Tests - Common Group 5',

View file

@ -15,9 +15,6 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
testFiles: [
require.resolve('../../common/discover/embeddable'),
require.resolve('../../common/discover/x_pack'),
require.resolve('../../common/discover_ml_uptime/discover'),
require.resolve('../../common/context'),
require.resolve('../../common/discover/esql'),
],
junit: {
reportName: 'Serverless Observability Functional Tests - Common Group 6',

View file

@ -0,0 +1,20 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [require.resolve('../../common/discover_ml_uptime/discover')],
junit: {
reportName: 'Serverless Observability Functional Tests - Common Group 6',
},
};
}

View file

@ -0,0 +1,23 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [
require.resolve('../../common/context'),
require.resolve('../../common/discover/esql'),
],
junit: {
reportName: 'Serverless Search Functional Tests - Common Group 10',
},
};
}

View file

@ -0,0 +1,24 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [
require.resolve('../../common/discover/group3'), // 4 min
require.resolve('../../common/discover/group4'), // 4 min
require.resolve('../../common/discover/group5'), // 2 min
],
junit: {
reportName: 'Serverless Search Functional Tests - Common Group 11',
},
};
}

View file

@ -0,0 +1,22 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [
require.resolve('../../common/discover/group6'), // 13 min
],
junit: {
reportName: 'Serverless Search Functional Tests - Common Group 12',
},
};
}

View file

@ -13,12 +13,8 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
return {
...baseTestConfig.getAll(),
testFiles: [
require.resolve('../../common/discover/group1'),
require.resolve('../../common/discover/group2'),
require.resolve('../../common/discover/group3'),
require.resolve('../../common/discover/group4'),
require.resolve('../../common/discover/group5'),
require.resolve('../../common/discover/group6'),
require.resolve('../../common/discover/group1'), // 7 min
require.resolve('../../common/discover/group2'), // 4 min
],
junit: {
reportName: 'Serverless Search Functional Tests - Common Group 5',

View file

@ -0,0 +1,20 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [require.resolve('../../common/discover_ml_uptime/discover')],
junit: {
reportName: 'Serverless Search Functional Tests - Common Group 9',
},
};
}

View file

@ -0,0 +1,23 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [
require.resolve('../../common/context'), // 5 min
require.resolve('../../common/discover/esql'), // 7 min
],
junit: {
reportName: 'Serverless Security Functional Tests - Common Group 10',
},
};
}

View file

@ -0,0 +1,24 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [
require.resolve('../../common/discover/group3'),
require.resolve('../../common/discover/group4'),
require.resolve('../../common/discover/group5'),
],
junit: {
reportName: 'Serverless Security Functional Tests - Common Group 11',
},
};
}

View file

@ -0,0 +1,20 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [require.resolve('../../common/discover/group6')],
junit: {
reportName: 'Serverless Security Functional Tests - Common Group 12',
},
};
}

View file

@ -15,10 +15,6 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
testFiles: [
require.resolve('../../common/discover/group1'),
require.resolve('../../common/discover/group2'),
require.resolve('../../common/discover/group3'),
require.resolve('../../common/discover/group4'),
require.resolve('../../common/discover/group5'),
require.resolve('../../common/discover/group6'),
],
junit: {
reportName: 'Serverless Security Functional Tests - Common Group 5',

View file

@ -13,11 +13,8 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
return {
...baseTestConfig.getAll(),
testFiles: [
require.resolve('../../common/discover/embeddable'),
require.resolve('../../common/discover/x_pack'),
require.resolve('../../common/discover_ml_uptime/discover'),
require.resolve('../../common/context'),
require.resolve('../../common/discover/esql'),
require.resolve('../../common/discover/embeddable'), // 6 min
require.resolve('../../common/discover/x_pack'), // 8 min
],
junit: {
reportName: 'Serverless Security Functional Tests - Common Group 6',

View file

@ -0,0 +1,22 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrConfigProviderContext } from '@kbn/test';
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
const baseTestConfig = await readConfigFile(require.resolve('../config.ts'));
return {
...baseTestConfig.getAll(),
testFiles: [
require.resolve('../../common/discover_ml_uptime/discover'), // 8 min
],
junit: {
reportName: 'Serverless Security Functional Tests - Common Group 9',
},
};
}