Skip to content

Commit 3bb0441

Browse files
Merge branch 'main' into eui/discover-tables-hover
2 parents 9135860 + 6dbc58f commit 3bb0441

5,474 files changed

Lines changed: 290788 additions & 92598 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.buildkite/ftr_platform_stateful_configs.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,10 @@ disabled:
66
# Base config files, only necessary to inform config finding script
77
- src/platform/test/functional/config.base.js
88
- src/platform/test/functional/firefox/config.base.ts
9-
- x-pack/test/functional/config.base.js
109
- x-pack/platform/test/functional/config.base.ts
1110
- x-pack/platform/test/localization/config.base.ts
1211
- src/platform/test/server_integration/config.base.js
1312
- x-pack/platform/test/functional_with_es_ssl/config.base.ts
14-
- x-pack/test/api_integration/config.ts
1513
- x-pack/platform/test/api_integration/config.ts
1614
- x-pack/platform/test/fleet_api_integration/config.base.ts
1715
- x-pack/platform/test/functional_basic/apps/ml/config.base.ts
@@ -333,6 +331,7 @@ enabled:
333331
- x-pack/platform/test/ui_capabilities/security_and_spaces/config.ts
334332
- x-pack/platform/test/ui_capabilities/spaces_only/config.ts
335333
- x-pack/platform/test/upgrade_assistant_integration/config.ts
334+
- x-pack/platform/test/reindex_service/config.ts
336335
- x-pack/platform/test/usage_collection/config.ts
337336
- x-pack/performance/journeys_e2e/aiops_log_rate_analysis.ts
338337
- x-pack/performance/journeys_e2e/ecommerce_dashboard.ts

.buildkite/ftr_search_serverless_configs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ enabled:
1111
- x-pack/platform/test/serverless/functional/configs/search/config.examples.ts
1212
- x-pack/solutions/search/test/serverless/functional/configs/config.feature_flags.ts
1313
- x-pack/solutions/search/test/serverless/functional/configs/config.screenshots.ts
14+
- x-pack/solutions/search/test/serverless/functional/configs/config.nav_v2.ts
1415
- x-pack/platform/test/serverless/functional/configs/search/config.saved_objects_management.ts
1516
- x-pack/platform/test/serverless/functional/configs/search/config.context_awareness.ts
1617
- x-pack/platform/test/serverless/functional/configs/search/config.config_compat_mode.ts

.buildkite/ftr_search_stateful_configs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ enabled:
77
- x-pack/solutions/search/test/functional_search/config.ts
88
- x-pack/solutions/search/test/functional_search/config/config.search_playground.ts
99
- x-pack/solutions/search/test/functional_search/config/config.feature_flags.ts
10+
- x-pack/solutions/search/test/functional_search/config/config.nav_v2.ts
1011
- x-pack/solutions/search/test/api_integration/apis/search_playground/config.ts
1112
- x-pack/solutions/search/test/functional_solution_sidenav/config.ts
13+
- x-pack/solutions/search/test/functional_solution_sidenav/config.nav_v2.ts
1214
- x-pack/solutions/search/test/accessibility/config.ts

.buildkite/ftr_security_serverless_configs.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ disabled:
1717
# Playwright
1818
- x-pack/solutions/security/test/security_solution_playwright/serverless_config.ts
1919

20+
# QA suites that are run out-of-band
21+
- x-pack/solutions/security/test/serverless/functional/configs/config.cloud_security_posture.cloud.ts
22+
2023
# MKI only configs files
2124
- x-pack/solutions/security/test/serverless/functional/configs/config.mki_only.ts
2225

@@ -108,6 +111,8 @@ enabled:
108111
- x-pack/solutions/security/test/security_solution_api_integration/test_suites/genai/attack_discovery/schedules/trial_license_complete_tier/configs/serverless.config.ts
109112
- x-pack/solutions/security/test/security_solution_api_integration/test_suites/genai/attack_discovery/schedules/basic_license_essentials_tier/configs/ess.config.ts
110113
- x-pack/solutions/security/test/security_solution_api_integration/test_suites/genai/attack_discovery/schedules/basic_license_essentials_tier/configs/serverless.config.ts
114+
- x-pack/solutions/security/test/security_solution_api_integration/test_suites/genai/conversations/trial_license_complete_tier/configs/ess.config.ts
115+
- x-pack/solutions/security/test/security_solution_api_integration/test_suites/genai/conversations/trial_license_complete_tier/configs/serverless.config.ts
111116
- x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/trial_license_complete_tier/configs/serverless.config.ts
112117
- x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/risk_engine/basic_license_essentials_tier/configs/serverless.config.ts
113118
- x-pack/solutions/security/test/security_solution_api_integration/test_suites/entity_analytics/entity_store/trial_license_complete_tier/configs/serverless.config.ts

.buildkite/ftr_security_stateful_configs.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ disabled:
88
- x-pack/solutions/security/test/security_solution_api_integration/config/ess/config.base.frozen.trial.ts
99
- x-pack/solutions/security/test/security_solution_endpoint/configs/config.base.ts
1010
- x-pack/solutions/security/test/security_solution_endpoint/config.base.ts
11-
- x-pack/test/security_solution_endpoint_api_int/config.base.ts
1211
- x-pack/solutions/security/test/api_integration/config.ts
1312
- x-pack/solutions/security/test/functional/config.base.ts
1413

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json
2+
apiVersion: backstage.io/v1alpha1
3+
kind: Resource
4+
metadata:
5+
name: bk-kibana-otel-semconv-sync
6+
description: Updates OpenTelemetry semantic conventions and regenerates field metadata
7+
links:
8+
- url: 'https://buildkite.com/elastic/kibana-otel-semconv-sync'
9+
title: Pipeline link
10+
spec:
11+
type: buildkite-pipeline
12+
owner: 'group:obs-ux-logs-team'
13+
system: buildkite
14+
implementation:
15+
apiVersion: buildkite.elastic.dev/v1
16+
kind: Pipeline
17+
metadata:
18+
name: kibana / OpenTelemetry semantic conventions sync
19+
description: Updates OTel semantic conventions and regenerates TypeScript field definitions
20+
spec:
21+
env:
22+
ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true'
23+
SLACK_NOTIFICATIONS_ON_SUCCESS: 'true'
24+
SLACK_NOTIFICATIONS_CHANNEL: '#obs-ux-logs'
25+
allow_rebuilds: false
26+
branch_configuration: main
27+
default_branch: main
28+
repository: elastic/kibana
29+
pipeline_file: .buildkite/pipelines/otel_semconv_sync.yml
30+
provider_settings:
31+
build_branches: false
32+
build_pull_requests: false
33+
publish_commit_status: false
34+
trigger_mode: none
35+
build_tags: false
36+
prefix_pull_request_fork_branch_names: false
37+
skip_pull_request_builds_for_existing_commits: true
38+
teams:
39+
obs-ux-logs-team:
40+
access_level: MANAGE_BUILD_AND_READ
41+
kibana-operations:
42+
access_level: MANAGE_BUILD_AND_READ
43+
appex-qa:
44+
access_level: MANAGE_BUILD_AND_READ
45+
kibana-tech-leads:
46+
access_level: MANAGE_BUILD_AND_READ
47+
everyone:
48+
access_level: BUILD_AND_READ
49+
schedules:
50+
Weekly build:
51+
cronline: 0 2 * * 1 America/New_York # Monday 2 AM EST (matches GitHub Actions)
52+
message: Weekly OpenTelemetry semantic conventions sync
53+
branch: main
54+
tags:
55+
- kibana
56+
- observability
57+
- opentelemetry
58+
- obs-ux-logs

.buildkite/pipeline-resource-definitions/locations.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ spec:
3232
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-migration-staging.yml
3333
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-on-merge-unsupported-ftrs.yml
3434
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-on-merge.yml
35+
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-otel-semconv-sync.yml
3536
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-package-registry.yml
3637
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-performance-daily.yml
3738
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-performance-data-set-extraction-daily.yml

.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,18 @@ interface FtrConfigsManifest {
120120
enabled?: Array<string | { [configPath: string]: { queue: string } }>;
121121
}
122122

123-
function getEnabledFtrConfigs(patterns?: string[]) {
123+
function getEnabledFtrConfigs(patterns?: string[], solutions?: string[]) {
124124
const configs: {
125125
enabled: Array<string | { [configPath: string]: { queue: string } }>;
126126
defaultQueue: string | undefined;
127127
} = { enabled: [], defaultQueue: undefined };
128128
const uniqueQueues = new Set<string>();
129129

130+
const mappedSolutions = solutions?.map((s) => (s === 'observability' ? 'oblt' : s));
130131
for (const manifestRelPath of ALL_FTR_MANIFEST_REL_PATHS) {
132+
if (mappedSolutions && !mappedSolutions.some((s) => manifestRelPath.includes(`ftr_${s}_`))) {
133+
continue;
134+
}
131135
try {
132136
const ymlData = loadYaml(Fs.readFileSync(manifestRelPath, 'utf8'));
133137
if (!isObj(ymlData)) {
@@ -236,6 +240,17 @@ export async function pickTestGroupRunOrder() {
236240
.filter(Boolean)
237241
: ['unit', 'integration', 'functional'];
238242

243+
const LIMIT_SOLUTIONS = process.env.LIMIT_SOLUTIONS
244+
? process.env.LIMIT_SOLUTIONS.split(',')
245+
.map((t) => t.trim())
246+
.filter(Boolean)
247+
: undefined;
248+
if (LIMIT_SOLUTIONS) {
249+
const validSolutions = ['chat', 'observability', 'search', 'security'];
250+
const invalidSolutions = LIMIT_SOLUTIONS.filter((s) => !validSolutions.includes(s));
251+
if (invalidSolutions.length) throw new Error('Unsupported LIMIT_SOLUTIONS value');
252+
}
253+
239254
const FTR_CONFIG_PATTERNS = process.env.FTR_CONFIG_PATTERNS
240255
? process.env.FTR_CONFIG_PATTERNS.split(',')
241256
.map((t) => t.trim())
@@ -279,22 +294,35 @@ export async function pickTestGroupRunOrder() {
279294
: {};
280295
const envFromlabels: Record<string, string> = collectEnvFromLabels();
281296

282-
const { defaultQueue, ftrConfigsByQueue } = getEnabledFtrConfigs(FTR_CONFIG_PATTERNS);
297+
const { defaultQueue, ftrConfigsByQueue } = getEnabledFtrConfigs(
298+
FTR_CONFIG_PATTERNS,
299+
LIMIT_SOLUTIONS
300+
);
283301

284302
const ftrConfigsIncluded = LIMIT_CONFIG_TYPE.includes('functional');
285303

286304
if (!ftrConfigsIncluded) ftrConfigsByQueue.clear();
287305

306+
const getJestConfigGlobs = (patterns: string[]) => {
307+
if (!LIMIT_SOLUTIONS) {
308+
return patterns;
309+
}
310+
311+
return LIMIT_SOLUTIONS.flatMap((solution: string) =>
312+
patterns.map((p: string) => `x-pack/solutions/${solution}/${p}`)
313+
);
314+
};
315+
288316
const jestUnitConfigs = LIMIT_CONFIG_TYPE.includes('unit')
289-
? globby.sync(['**/jest.config.js', '!**/__fixtures__/**'], {
317+
? globby.sync(getJestConfigGlobs(['**/jest.config.js', '!**/__fixtures__/**']), {
290318
cwd: process.cwd(),
291319
absolute: false,
292320
ignore: DISABLED_JEST_CONFIGS,
293321
})
294322
: [];
295323

296324
const jestIntegrationConfigs = LIMIT_CONFIG_TYPE.includes('integration')
297-
? globby.sync(['**/jest.integration.config.js', '!**/__fixtures__/**'], {
325+
? globby.sync(getJestConfigGlobs(['**/jest.integration.config.js', '!**/__fixtures__/**']), {
298326
cwd: process.cwd(),
299327
absolute: false,
300328
ignore: DISABLED_JEST_CONFIGS,

.buildkite/pipeline-utils/github/github.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,25 @@ export const areChangesSkippable = async (
7979
return !someFilesNotSkippable;
8080
};
8181

82+
export const doAllChangesMatch = async (
83+
path: RegExp,
84+
changes: null | RestEndpointMethodTypes['pulls']['listFiles']['response']['data'] = null
85+
) => {
86+
const prChanges = changes || (await getPrChangesCached());
87+
88+
if (prChanges.length >= 3000) {
89+
return false;
90+
}
91+
92+
const allChangesMatch = prChanges.every(
93+
(change) =>
94+
change.filename.match(path) &&
95+
(!change.previous_filename || change.previous_filename.match(path))
96+
);
97+
98+
return allChangesMatch;
99+
};
100+
82101
export const doAnyChangesMatch = async (
83102
requiredPaths: RegExp[],
84103
changes: null | RestEndpointMethodTypes['pulls']['listFiles']['response']['data'] = null
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
steps:
2+
- command: .buildkite/scripts/steps/otel_semconv_sync.sh
3+
label: OpenTelemetry Semantic Conventions Sync
4+
timeout_in_minutes: 15
5+
agents:
6+
image: family/kibana-ubuntu-2404
7+
imageProject: elastic-images-prod
8+
provider: gcp
9+
machineType: n2-standard-2
10+
preemptible: true
11+
env:
12+
# Docker is available on these agents
13+
DOCKER_REQUIRED: 'true'

0 commit comments

Comments
 (0)