mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[ftr] split serverless config to speedup test run on CI (#168195)
## Summary After [164798](https://github.com/elastic/kibana/pull/164798) was merged CI singnificantly slowed down because f these FTR groups: ``` x-pack/test_serverless/functional/test_suites/security/common_configs/config.group2.ts: 75.6 minutes x-pack/test_serverless/functional/test_suites/search/common_configs/config.group2.ts: 75 minutes x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group2.ts: 74.7 minutes ``` This PR splits each group into 3.
This commit is contained in:
parent
6c5603c952
commit
d05349bf5f
28 changed files with 179 additions and 25 deletions
|
@ -412,16 +412,22 @@ enabled:
|
|||
- x-pack/test_serverless/functional/test_suites/observability/config.examples.ts
|
||||
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group1.ts
|
||||
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group2.ts
|
||||
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group3.ts
|
||||
- x-pack/test_serverless/functional/test_suites/observability/common_configs/config.group4.ts
|
||||
- x-pack/test_serverless/functional/test_suites/observability/config.screenshots.ts
|
||||
- x-pack/test_serverless/functional/test_suites/search/config.ts
|
||||
- x-pack/test_serverless/functional/test_suites/search/config.examples.ts
|
||||
- x-pack/test_serverless/functional/test_suites/search/config.screenshots.ts
|
||||
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group1.ts
|
||||
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group2.ts
|
||||
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group3.ts
|
||||
- x-pack/test_serverless/functional/test_suites/search/common_configs/config.group4.ts
|
||||
- x-pack/test_serverless/functional/test_suites/security/config.ts
|
||||
- x-pack/test_serverless/functional/test_suites/security/config.examples.ts
|
||||
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group1.ts
|
||||
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group2.ts
|
||||
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group3.ts
|
||||
- x-pack/test_serverless/functional/test_suites/security/common_configs/config.group4.ts
|
||||
- x-pack/performance/journeys/ecommerce_dashboard.ts
|
||||
- x-pack/performance/journeys/ecommerce_dashboard_map_only.ts
|
||||
- x-pack/performance/journeys/flight_dashboard.ts
|
||||
|
|
|
@ -13,7 +13,7 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
|
|||
const log = getService('log');
|
||||
const esArchiver = getService('esArchiver');
|
||||
const kibanaServer = getService('kibanaServer');
|
||||
const PageObjects = getPageObjects(['timePicker']);
|
||||
const PageObjects = getPageObjects(['timePicker', 'svlCommonPage']);
|
||||
const config = getService('config');
|
||||
let remoteEsArchiver;
|
||||
|
||||
|
@ -53,19 +53,21 @@ export default ({ getService, loadTestFile, getPageObjects }: FtrProviderContext
|
|||
}
|
||||
|
||||
await esNode.load(esArchive);
|
||||
// changing the timepicker default here saves us from having to set it in Discover (~8s)
|
||||
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
|
||||
await kibanaServer.uiSettings.update({
|
||||
defaultIndex: indexPatternString,
|
||||
'dateFormat:tz': 'UTC',
|
||||
});
|
||||
await kibanaServer.importExport.load(fixtureDirs.lensBasic);
|
||||
await kibanaServer.importExport.load(fixtureDirs.lensDefault);
|
||||
await PageObjects.svlCommonPage.login();
|
||||
// changing the timepicker default here saves us from having to set it in Discover (~8s)
|
||||
await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings();
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await esArchiver.unload(esArchive);
|
||||
await PageObjects.timePicker.resetDefaultAbsoluteRangeViaUiSettings();
|
||||
await PageObjects.svlCommonPage.forceLogout();
|
||||
await kibanaServer.importExport.unload(fixtureDirs.lensBasic);
|
||||
await kibanaServer.importExport.unload(fixtureDirs.lensDefault);
|
||||
await kibanaServer.savedObjects.cleanStandardList();
|
||||
|
|
|
@ -5,18 +5,20 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { FtrProviderContext } from '../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../ftr_provider_context';
|
||||
|
||||
export default ({ loadTestFile, getPageObject }: FtrProviderContext) => {
|
||||
const svlCommonPage = getPageObject('svlCommonPage');
|
||||
|
||||
describe('Visualizations', function () {
|
||||
describe('Visualizations - Group 2', function () {
|
||||
before(async () => {
|
||||
await svlCommonPage.login();
|
||||
});
|
||||
|
||||
loadTestFile(require.resolve('./group1'));
|
||||
after(async () => {
|
||||
await svlCommonPage.forceLogout();
|
||||
});
|
||||
|
||||
loadTestFile(require.resolve('./open_in_lens/agg_based'));
|
||||
loadTestFile(require.resolve('./open_in_lens/tsvb'));
|
||||
});
|
||||
};
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import { EsArchiver } from '@kbn/es-archiver';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ loadTestFile, getService, getPageObjects }: FtrProviderContext) {
|
||||
const browser = getService('browser');
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -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 { FtrProviderContext } from '../../../../ftr_provider_context';
|
||||
|
||||
export default ({ loadTestFile, getPageObject }: FtrProviderContext) => {
|
||||
const svlCommonPage = getPageObject('svlCommonPage');
|
||||
|
||||
describe('Visualizations - Group 3', function () {
|
||||
before(async () => {
|
||||
await svlCommonPage.login();
|
||||
});
|
||||
|
||||
after(async () => {
|
||||
await svlCommonPage.forceLogout();
|
||||
});
|
||||
|
||||
loadTestFile(require.resolve('./open_in_lens/tsvb'));
|
||||
});
|
||||
};
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard, canvas } = getPageObjects([
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import { EsArchiver } from '@kbn/es-archiver';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ loadTestFile, getService, getPageObjects }: FtrProviderContext) {
|
||||
const browser = getService('browser');
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -13,7 +13,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrProviderContext } from '../../../../../ftr_provider_context';
|
||||
import { FtrProviderContext } from '../../../../../../ftr_provider_context';
|
||||
|
||||
export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
||||
const { lens, timePicker, dashboard } = getPageObjects(['lens', 'timePicker', 'dashboard']);
|
|
@ -12,7 +12,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
|||
|
||||
return {
|
||||
...baseTestConfig.getAll(),
|
||||
testFiles: [require.resolve('../../common/visualizations')],
|
||||
testFiles: [require.resolve('../../common/visualizations/group1')],
|
||||
junit: {
|
||||
reportName: 'Serverless Observability Functional Tests - Common Group 2',
|
||||
},
|
||||
|
|
|
@ -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/visualizations/group2')],
|
||||
junit: {
|
||||
reportName: 'Serverless Observability Functional Tests - Common Group 3',
|
||||
},
|
||||
};
|
||||
}
|
|
@ -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/visualizations/group3')],
|
||||
junit: {
|
||||
reportName: 'Serverless Observability Functional Tests - Common Group 4',
|
||||
},
|
||||
};
|
||||
}
|
|
@ -12,7 +12,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
|||
|
||||
return {
|
||||
...baseTestConfig.getAll(),
|
||||
testFiles: [require.resolve('../../common/visualizations')],
|
||||
testFiles: [require.resolve('../../common/visualizations/group1')],
|
||||
junit: {
|
||||
reportName: 'Serverless Search Functional Tests - Common Group 2',
|
||||
},
|
||||
|
|
|
@ -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/visualizations/group2')],
|
||||
junit: {
|
||||
reportName: 'Serverless Search Functional Tests - Common Group 2',
|
||||
},
|
||||
};
|
||||
}
|
|
@ -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/visualizations/group3')],
|
||||
junit: {
|
||||
reportName: 'Serverless Search Functional Tests - Common Group 2',
|
||||
},
|
||||
};
|
||||
}
|
|
@ -12,7 +12,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
|||
|
||||
return {
|
||||
...baseTestConfig.getAll(),
|
||||
testFiles: [require.resolve('../../common/visualizations')],
|
||||
testFiles: [require.resolve('../../common/visualizations/group1')],
|
||||
junit: {
|
||||
reportName: 'Serverless Security Functional Tests - Common Group 2',
|
||||
},
|
||||
|
|
|
@ -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/visualizations/group2')],
|
||||
junit: {
|
||||
reportName: 'Serverless Security Functional Tests - Common Group 3',
|
||||
},
|
||||
};
|
||||
}
|
|
@ -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/visualizations/group3')],
|
||||
junit: {
|
||||
reportName: 'Serverless Security Functional Tests - Common Group 4',
|
||||
},
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue