mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
add EBT Labels through CI (#137530)
* add EBT Labels through CI * remove prId from labels when it's not running on PR's Co-authored-by: Spencer <email@spalger.com> * adds parsing validation Co-authored-by: Spencer <email@spalger.com>
This commit is contained in:
parent
514e5a7b50
commit
ba6ff3bdb0
9 changed files with 84 additions and 24 deletions
|
@ -20,9 +20,9 @@ export const labelsSchema = schema.object(
|
|||
ciBuildId: schema.maybe(schema.string()),
|
||||
ciBuildNumber: schema.maybe(schema.number()),
|
||||
ftrConfig: schema.maybe(schema.string()),
|
||||
git_rev: schema.maybe(schema.string()),
|
||||
gitRev: schema.maybe(schema.string()),
|
||||
isPr: schema.maybe(schema.boolean()),
|
||||
prId: schema.maybe(schema.string()),
|
||||
prId: schema.maybe(schema.number()),
|
||||
journeyName: schema.maybe(schema.string()),
|
||||
testBuildId: schema.maybe(schema.string()),
|
||||
testJobId: schema.maybe(schema.string()),
|
||||
|
|
|
@ -148,10 +148,10 @@ export default function ({ getService }: PluginFunctionalProviderContext) {
|
|||
'telemetry.labels.ciBuildJobId (string)',
|
||||
'telemetry.labels.ciBuildNumber (number)',
|
||||
'telemetry.labels.ftrConfig (string)',
|
||||
'telemetry.labels.git_rev (string)',
|
||||
'telemetry.labels.gitRev (string)',
|
||||
'telemetry.labels.isPr (boolean)',
|
||||
'telemetry.labels.journeyName (string)',
|
||||
'telemetry.labels.prId (string)',
|
||||
'telemetry.labels.prId (number)',
|
||||
'telemetry.labels.testBuildId (string)',
|
||||
'telemetry.labels.testJobId (string)',
|
||||
'telemetry.hidePrivacyStatement (boolean)',
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
import uuid from 'uuid';
|
||||
import { FtrConfigProviderContext } from '@kbn/test';
|
||||
|
||||
import { TelemetryConfigLabels } from '@kbn/telemetry-plugin/server/config';
|
||||
import { services } from '../services';
|
||||
import { pageObjects } from '../page_objects';
|
||||
|
||||
|
@ -23,6 +24,26 @@ export default async function ({ readConfigFile, log }: FtrConfigProviderContext
|
|||
|
||||
log.info(` 👷♀️ BUILD ID ${testBuildId}\n 👷 JOB ID ${testJobId}\n 👷♂️ EXECUTION ID:${executionId}`);
|
||||
|
||||
const prId = process.env.GITHUB_PR_NUMBER
|
||||
? Number.parseInt(process.env.GITHUB_PR_NUMBER, 10)
|
||||
: undefined;
|
||||
|
||||
if (Number.isNaN(prId)) {
|
||||
throw new Error('invalid GITHUB_PR_NUMBER environment variable');
|
||||
}
|
||||
|
||||
const telemetryLabels: TelemetryConfigLabels = {
|
||||
branch: process.env.BUILDKITE_BRANCH,
|
||||
ciBuildId: process.env.BUILDKITE_BUILD_ID,
|
||||
ciBuildJobId: process.env.BUILDKITE_JOB_ID,
|
||||
ciBuildNumber: Number(process.env.BUILDKITE_BUILD_NUMBER) || 0,
|
||||
gitRev: process.env.BUILDKITE_COMMIT,
|
||||
isPr: prId !== undefined,
|
||||
...(prId !== undefined ? { prId } : {}),
|
||||
testJobId,
|
||||
testBuildId,
|
||||
};
|
||||
|
||||
return {
|
||||
services,
|
||||
pageObjects,
|
||||
|
@ -36,7 +57,10 @@ export default async function ({ readConfigFile, log }: FtrConfigProviderContext
|
|||
},
|
||||
kbnTestServer: {
|
||||
...functionalConfig.get('kbnTestServer'),
|
||||
serverArgs: [...functionalConfig.get('kbnTestServer.serverArgs')],
|
||||
serverArgs: [
|
||||
...functionalConfig.get('kbnTestServer.serverArgs'),
|
||||
`--telemetry.labels=${JSON.stringify(telemetryLabels)}`,
|
||||
],
|
||||
env: {
|
||||
ELASTIC_APM_ACTIVE: process.env.TEST_PERFORMANCE_PHASE ? 'true' : 'false',
|
||||
ELASTIC_APM_CONTEXT_PROPAGATION_ONLY: 'false',
|
||||
|
|
|
@ -7,10 +7,12 @@
|
|||
import { FtrConfigProviderContext } from '@kbn/test';
|
||||
import { serializeApmGlobalLabels } from '../../utils';
|
||||
|
||||
const JOURNEY_ECOMMERCE_DASHBOARD = 'ecommerce_dashboard';
|
||||
|
||||
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
||||
const performanceConfig = await readConfigFile(require.resolve('../base.config'));
|
||||
|
||||
const testFiles = [require.resolve('./ecommerce_dashboard')];
|
||||
const testFiles = [require.resolve(`./${JOURNEY_ECOMMERCE_DASHBOARD}`)];
|
||||
|
||||
const config = {
|
||||
testFiles,
|
||||
|
@ -19,15 +21,19 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
|||
|
||||
const apmGlobalLabels = {
|
||||
...performanceConfig.get('kbnTestServer').env.ELASTIC_APM_GLOBAL_LABELS,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/ecommerce_dashboard/config.ts`,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/${JOURNEY_ECOMMERCE_DASHBOARD}/config.ts`,
|
||||
performancePhase: process.env.TEST_PERFORMANCE_PHASE,
|
||||
journeyName: 'ecommerce_dashboard',
|
||||
journeyName: JOURNEY_ECOMMERCE_DASHBOARD,
|
||||
};
|
||||
|
||||
return {
|
||||
...config,
|
||||
kbnTestServer: {
|
||||
...config.kbnTestServer,
|
||||
serverArgs: [
|
||||
...performanceConfig.get('kbnTestServer.serverArgs'),
|
||||
`--telemetry.labels.journeyName=${JOURNEY_ECOMMERCE_DASHBOARD}`,
|
||||
],
|
||||
env: {
|
||||
...config.kbnTestServer.env,
|
||||
ELASTIC_APM_GLOBAL_LABELS: serializeApmGlobalLabels(apmGlobalLabels),
|
||||
|
|
|
@ -7,10 +7,12 @@
|
|||
import { FtrConfigProviderContext } from '@kbn/test';
|
||||
import { serializeApmGlobalLabels } from '../../utils';
|
||||
|
||||
const JOURNEY_FLIGHT_DASHBOARD = 'flight_dashboard';
|
||||
|
||||
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
||||
const performanceConfig = await readConfigFile(require.resolve('../base.config'));
|
||||
|
||||
const testFiles = [require.resolve('./flight_dashboard')];
|
||||
const testFiles = [require.resolve(`./${JOURNEY_FLIGHT_DASHBOARD}`)];
|
||||
|
||||
const config = {
|
||||
testFiles,
|
||||
|
@ -19,15 +21,19 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
|||
|
||||
const apmGlobalLabels = {
|
||||
...performanceConfig.get('kbnTestServer').env.ELASTIC_APM_GLOBAL_LABELS,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/flight_dashboard/config.ts`,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/${JOURNEY_FLIGHT_DASHBOARD}/config.ts`,
|
||||
performancePhase: process.env.TEST_PERFORMANCE_PHASE,
|
||||
journeyName: 'flight_dashboard',
|
||||
journeyName: JOURNEY_FLIGHT_DASHBOARD,
|
||||
};
|
||||
|
||||
return {
|
||||
...config,
|
||||
kbnTestServer: {
|
||||
...config.kbnTestServer,
|
||||
serverArgs: [
|
||||
...performanceConfig.get('kbnTestServer.serverArgs'),
|
||||
`--telemetry.labels.journeyName=${JOURNEY_FLIGHT_DASHBOARD}`,
|
||||
],
|
||||
env: {
|
||||
...config.kbnTestServer.env,
|
||||
ELASTIC_APM_GLOBAL_LABELS: serializeApmGlobalLabels(apmGlobalLabels),
|
||||
|
|
|
@ -7,10 +7,12 @@
|
|||
import { FtrConfigProviderContext } from '@kbn/test';
|
||||
import { serializeApmGlobalLabels } from '../../utils';
|
||||
|
||||
const JOURNEY_LOGIN = 'login';
|
||||
|
||||
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
||||
const performanceConfig = await readConfigFile(require.resolve('../base.config'));
|
||||
|
||||
const testFiles = [require.resolve('./login')];
|
||||
const testFiles = [require.resolve(`./${JOURNEY_LOGIN}`)];
|
||||
|
||||
const config = {
|
||||
testFiles,
|
||||
|
@ -42,15 +44,19 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
|||
|
||||
const apmGlobalLabels = {
|
||||
...performanceConfig.get('kbnTestServer').env.ELASTIC_APM_GLOBAL_LABELS,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/login/config.ts`,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/${JOURNEY_LOGIN}/config.ts`,
|
||||
performancePhase: process.env.TEST_PERFORMANCE_PHASE,
|
||||
journeyName: 'login',
|
||||
journeyName: JOURNEY_LOGIN,
|
||||
};
|
||||
|
||||
return {
|
||||
...config,
|
||||
kbnTestServer: {
|
||||
...config.kbnTestServer,
|
||||
serverArgs: [
|
||||
...performanceConfig.get('kbnTestServer.serverArgs'),
|
||||
`--telemetry.labels.journeyName=${JOURNEY_LOGIN}`,
|
||||
],
|
||||
env: {
|
||||
...config.kbnTestServer.env,
|
||||
ELASTIC_APM_GLOBAL_LABELS: serializeApmGlobalLabels(apmGlobalLabels),
|
||||
|
|
|
@ -7,10 +7,12 @@
|
|||
import { FtrConfigProviderContext } from '@kbn/test';
|
||||
import { serializeApmGlobalLabels } from '../../utils';
|
||||
|
||||
const JOURNEY_MANY_FIELDS_DISCOVER = 'many_fields_discover';
|
||||
|
||||
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
||||
const performanceConfig = await readConfigFile(require.resolve('../base.config'));
|
||||
|
||||
const testFiles = [require.resolve('./many_fields_discover')];
|
||||
const testFiles = [require.resolve(`./${JOURNEY_MANY_FIELDS_DISCOVER}`)];
|
||||
|
||||
const config = {
|
||||
testFiles,
|
||||
|
@ -19,15 +21,19 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
|||
|
||||
const apmGlobalLabels = {
|
||||
...performanceConfig.get('kbnTestServer').env.ELASTIC_APM_GLOBAL_LABELS,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/many_fields_discover/config.ts`,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/${JOURNEY_MANY_FIELDS_DISCOVER}/config.ts`,
|
||||
performancePhase: process.env.TEST_PERFORMANCE_PHASE,
|
||||
journeyName: 'many_fields_discover',
|
||||
journeyName: JOURNEY_MANY_FIELDS_DISCOVER,
|
||||
};
|
||||
|
||||
return {
|
||||
...config,
|
||||
kbnTestServer: {
|
||||
...config.kbnTestServer,
|
||||
serverArgs: [
|
||||
...performanceConfig.get('kbnTestServer.serverArgs'),
|
||||
`--telemetry.labels.journeyName=${JOURNEY_MANY_FIELDS_DISCOVER}`,
|
||||
],
|
||||
env: {
|
||||
...config.kbnTestServer.env,
|
||||
ELASTIC_APM_GLOBAL_LABELS: serializeApmGlobalLabels(apmGlobalLabels),
|
||||
|
|
|
@ -7,10 +7,12 @@
|
|||
import { FtrConfigProviderContext } from '@kbn/test';
|
||||
import { serializeApmGlobalLabels } from '../../utils';
|
||||
|
||||
const JOURNEY_PROMOTION_TRACKING_DASHBOARD = 'promotion_tracking_dashboard';
|
||||
|
||||
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
||||
const performanceConfig = await readConfigFile(require.resolve('../base.config'));
|
||||
|
||||
const testFiles = [require.resolve('./promotion_tracking_dashboard')];
|
||||
const testFiles = [require.resolve(`./${JOURNEY_PROMOTION_TRACKING_DASHBOARD}`)];
|
||||
|
||||
const config = {
|
||||
testFiles,
|
||||
|
@ -42,15 +44,19 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
|||
|
||||
const apmGlobalLabels = {
|
||||
...performanceConfig.get('kbnTestServer').env.ELASTIC_APM_GLOBAL_LABELS,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/promotion_tracking_dashboard/config.ts`,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/${JOURNEY_PROMOTION_TRACKING_DASHBOARD}/config.ts`,
|
||||
performancePhase: process.env.TEST_PERFORMANCE_PHASE,
|
||||
journeyName: 'promotion_tracking_dashboard',
|
||||
journeyName: JOURNEY_PROMOTION_TRACKING_DASHBOARD,
|
||||
};
|
||||
|
||||
return {
|
||||
...config,
|
||||
kbnTestServer: {
|
||||
...config.kbnTestServer,
|
||||
serverArgs: [
|
||||
...performanceConfig.get('kbnTestServer.serverArgs'),
|
||||
`--telemetry.labels.journeyName=${JOURNEY_PROMOTION_TRACKING_DASHBOARD}`,
|
||||
],
|
||||
env: {
|
||||
...config.kbnTestServer.env,
|
||||
ELASTIC_APM_GLOBAL_LABELS: serializeApmGlobalLabels(apmGlobalLabels),
|
||||
|
|
|
@ -7,10 +7,12 @@
|
|||
import { FtrConfigProviderContext } from '@kbn/test';
|
||||
import { serializeApmGlobalLabels } from '../../utils';
|
||||
|
||||
export default async function webLogsDashboard({ readConfigFile, log }: FtrConfigProviderContext) {
|
||||
const JOURNEY_WEBLOGS_DASHBOARD = 'web_logs_dashboard';
|
||||
|
||||
export default async function ({ readConfigFile }: FtrConfigProviderContext) {
|
||||
const performanceConfig = await readConfigFile(require.resolve('../base.config'));
|
||||
|
||||
const testFiles = [require.resolve('./web_logs_dashboard')];
|
||||
const testFiles = [require.resolve(`./${JOURNEY_WEBLOGS_DASHBOARD}`)];
|
||||
|
||||
const config = {
|
||||
testFiles,
|
||||
|
@ -19,15 +21,19 @@ export default async function webLogsDashboard({ readConfigFile, log }: FtrConfi
|
|||
|
||||
const apmGlobalLabels = {
|
||||
...performanceConfig.get('kbnTestServer').env.ELASTIC_APM_GLOBAL_LABELS,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/web_logs_dashboard/config.ts`,
|
||||
ftrConfig: `x-pack/test/performance/tests/journeys/${JOURNEY_WEBLOGS_DASHBOARD}/config.ts`,
|
||||
performancePhase: process.env.TEST_PERFORMANCE_PHASE,
|
||||
journeyName: 'web_logs_dashboard',
|
||||
journeyName: JOURNEY_WEBLOGS_DASHBOARD,
|
||||
};
|
||||
|
||||
return {
|
||||
...config,
|
||||
kbnTestServer: {
|
||||
...config.kbnTestServer,
|
||||
serverArgs: [
|
||||
...performanceConfig.get('kbnTestServer.serverArgs'),
|
||||
`--telemetry.labels.journeyName=${JOURNEY_WEBLOGS_DASHBOARD}`,
|
||||
],
|
||||
env: {
|
||||
...config.kbnTestServer.env,
|
||||
ELASTIC_APM_GLOBAL_LABELS: serializeApmGlobalLabels(apmGlobalLabels),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue