Skip to content

Commit

Permalink
Merge branch 'main' into refactor-integrations-to-not-depend-on-main-…
Browse files Browse the repository at this point in the history
…page
  • Loading branch information
achyutjhunjhunwala authored Jul 3, 2024
2 parents 11e5708 + bfe8cf9 commit 4338fb9
Show file tree
Hide file tree
Showing 1,829 changed files with 41,802 additions and 14,353 deletions.
2 changes: 0 additions & 2 deletions .buildkite/ftr_configs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -582,5 +582,3 @@ enabled:
- x-pack/test/security_solution_api_integration/test_suites/security_solution_endpoint/configs/serverless.endpoint.config.ts
- x-pack/test/security_solution_api_integration/test_suites/security_solution_endpoint/configs/integrations.config.ts
- x-pack/test/security_solution_api_integration/test_suites/security_solution_endpoint/configs/serverless.integrations.config.ts
- x-pack/test/security_solution_api_integration/test_suites/security_solution_endpoint/configs/serverless.integrations_feature_flag.config.ts
- x-pack/test/security_solution_api_integration/test_suites/security_solution_endpoint/configs/integrations_feature_flag.config.ts
2 changes: 1 addition & 1 deletion .buildkite/pipeline-resource-definitions/kibana-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ spec:
description: Runs manually for pull requests
spec:
env:
PR_COMMENTS_ENABLED: 'true'
ELASTIC_PR_COMMENTS_ENABLED: 'true'
GITHUB_BUILD_COMMIT_STATUS_ENABLED: 'true'
GITHUB_BUILD_COMMIT_STATUS_CONTEXT: kibana-ci
GITHUB_STEP_COMMIT_STATUS_ENABLED: 'true'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# yaml-language-server: $schema=https://gist.githubusercontent.com/elasticmachine/988b80dae436cafea07d9a4a460a011d/raw/rre.schema.json
apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
name: kibana-tests-emergency-pipeline
description: Definition of the kibana pipeline
links:
- title: Pipeline
url: https://buildkite.com/elastic/kibana-tests-emergency
spec:
type: buildkite-pipeline
owner: group:kibana-tech-leads
system: buildkite
implementation:
apiVersion: buildkite.elastic.dev/v1
kind: Pipeline
metadata:
name: kibana-tests-emergency
description: Pipeline that tests the service integration in various environments
spec:
repository: elastic/kibana
pipeline_file: ./.buildkite/pipelines/quality-gates/emergency/pipeline.emergency.kibana-tests.yaml
provider_settings:
trigger_mode: none
teams:
kibana-operations:
access_level: MANAGE_BUILD_AND_READ
kibana-release-operators:
access_level: BUILD_AND_READ
cloud-tooling:
access_level: BUILD_AND_READ
everyone:
access_level: READ_ONLY
1 change: 1 addition & 0 deletions .buildkite/pipeline-resource-definitions/locations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ spec:
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-performance-data-set-extraction-daily.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-pr.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-purge-cloud-deployments.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-serverless-quality-gates-emergency.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-serverless-release-testing.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/kibana-serverless-release.yml
- https://github.com/elastic/kibana/blob/main/.buildkite/pipeline-resource-definitions/scalability_testing-daily.yml
Expand Down
2 changes: 1 addition & 1 deletion .buildkite/pipeline-utils/test-failures/annotate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ export const annotateTestFailures = async () => {

buildkite.setAnnotation('test_failures', 'error', getAnnotation(failures, failureHtmlArtifacts));

if (process.env.PR_COMMENTS_ENABLED === 'true') {
if (process.env.ELASTIC_PR_COMMENTS_ENABLED === 'true') {
buildkite.setMetadata(
'pr_comment:test_failures:body',
getPrComment(failures, failureHtmlArtifacts)
Expand Down
20 changes: 10 additions & 10 deletions .buildkite/pipelines/artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ steps:
label: Build Kibana Artifacts
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
machineType: c2-standard-16
timeout_in_minutes: 75
Expand All @@ -18,7 +18,7 @@ steps:
label: Artifact Testing
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
enableNestedVirtualization: true
localSsds: 1
Expand All @@ -34,7 +34,7 @@ steps:
label: Artifact Testing
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
enableNestedVirtualization: true
localSsds: 1
Expand All @@ -50,7 +50,7 @@ steps:
label: Artifact Testing
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
enableNestedVirtualization: true
localSsds: 1
Expand All @@ -66,7 +66,7 @@ steps:
label: 'Docker Context Verification'
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
localSsds: 1
localSsdInterface: nvme
Expand All @@ -81,7 +81,7 @@ steps:
label: 'Docker Context Verification'
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
localSsds: 1
localSsdInterface: nvme
Expand All @@ -96,7 +96,7 @@ steps:
label: 'Docker Context Verification'
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
machineType: n2-standard-2
timeout_in_minutes: 30
Expand All @@ -109,7 +109,7 @@ steps:
label: 'Docker Context Verification'
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
localSsds: 1
localSsdInterface: nvme
Expand All @@ -127,7 +127,7 @@ steps:
- exit_status: -1
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
localSsds: 1
localSsdInterface: nvme
Expand All @@ -154,7 +154,7 @@ steps:
label: 'Publish Kibana Artifacts'
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
localSsds: 1
localSsdInterface: nvme
Expand Down
2 changes: 1 addition & 1 deletion .buildkite/pipelines/artifacts_container_image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ steps:
label: Build serverless container images
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
machineType: n2-standard-16
timeout_in_minutes: 60
2 changes: 1 addition & 1 deletion .buildkite/pipelines/artifacts_trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ steps:
label: Trigger artifacts build
agents:
image: family/kibana-ubuntu-2004
imageProject: elastic-images-qa
imageProject: elastic-images-prod
provider: gcp
machineType: n2-standard-2
timeout_in_minutes: 10
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# This pipeline serves as the entry point for your service's quality gates definitions. When
# properly configured, it will be invoked automatically as part of the automated
# promotion process once a new version was rolled out in one of the various cloud stages.
#
# The updated environment is provided via ENVIRONMENT variable. The seedling
# step will branch and execute pipeline snippets at the following location:
# pipeline.tests-qa.yaml
# pipeline.tests-staging.yaml
# pipeline.tests-production.yaml
#
# Docs: https://docs.elastic.dev/serverless/qualitygates

agents:
cpu: 2
ephemeralStorage: "20G"
memory: "8G"

env:
SKIP_NODE_SETUP: true
TEAM_CHANNEL: "#kibana-mission-control"
ENVIRONMENT: ${ENVIRONMENT?}

steps:
- label: ":pipeline::grey_question::seedling: Trigger Kibana Tests for ${ENVIRONMENT}"
env:
QG_PIPELINE_LOCATION: ".buildkite/pipelines/quality-gates/emergency"
command: "make -C /agent run-environment-tests" # will trigger https://buildkite.com/elastic/kibana-tests-emergency
agents:
image: "docker.elastic.co/ci-agent-images/quality-gate-seedling:0.0.4"

notify:
- slack: "${TEAM_CHANNEL?}"
if: build.branch == "main" && build.state == "failed"
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# These pipeline steps constitute the quality gate for your service within the production environment.
# Incorporate any necessary additional logic to validate the service's integrity.
# A failure in this pipeline build will prevent further progression to the subsequent stage.

steps:
- label: ":kibana: SLO check"
trigger: "serverless-quality-gates" # https://buildkite.com/elastic/serverless-quality-gates
build:
message: "${BUILDKITE_MESSAGE} (triggered by pipeline.tests-production.yaml)"
env:
TARGET_ENV: production
CHECK_SLO: true
CHECK_SLO_TAG: kibana
CHECK_SLO_WAITING_PERIOD: 15m
CHECK_SLO_BURN_RATE_THRESHOLD: 0.1
soft_fail: true

- label: ":rocket: control-plane e2e tests"
if: build.env("ENVIRONMENT") == "production-canary"
trigger: "ess-k8s-production-e2e-tests" # https://buildkite.com/elastic/ess-k8s-production-e2e-tests
build:
env:
REGION_ID: aws-us-east-1
NAME_PREFIX: ci_test_kibana-promotion_
message: "${BUILDKITE_MESSAGE} (triggered by pipeline.tests-production.yaml)"

- label: ":cookie: 24h bake time before continuing promotion"
if: build.env("ENVIRONMENT") == "production-canary"
command: "sleep 86400"
soft_fail:
# A manual cancel of that step produces return code 255.
# We're treating this case as a soft fail to allow manual bake time skipping.
# To stop the promotion entirely, instead click the "Cancel" button at the top of the page
- exit_status: 255
agents:
# How long can this agent live for in minutes - 25 hours
instanceMaxAge: 1500
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These pipeline steps constitute the quality gate for your service within the QA environment.
# Incorporate any necessary additional logic to validate the service's integrity.
# A failure in this pipeline build will prevent further progression to the subsequent stage.

steps:
- label: ":rocket: control-plane e2e tests"
trigger: "ess-k8s-qa-e2e-tests-daily" # https://buildkite.com/elastic/ess-k8s-qa-e2e-tests-daily
build:
env:
REGION_ID: aws-eu-west-1
NAME_PREFIX: ci_test_kibana-promotion_
message: "${BUILDKITE_MESSAGE} (triggered by pipeline.tests-qa.yaml)"
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# These pipeline steps constitute the quality gate for your service within the staging environment.
# Incorporate any necessary additional logic to validate the service's integrity.
# A failure in this pipeline build will prevent further progression to the subsequent stage.

steps:
- label: ":rocket: control-plane e2e tests"
trigger: "ess-k8s-staging-e2e-tests" # https://buildkite.com/elastic/ess-k8s-staging-e2e-tests
build:
env:
REGION_ID: aws-us-east-1
NAME_PREFIX: ci_test_kibana-promotion_
message: "${BUILDKITE_MESSAGE} (triggered by pipeline.tests-staging.yaml)"

- label: ":kibana: Kibana Serverless Tests for ${ENVIRONMENT}"
trigger: appex-qa-serverless-kibana-ftr-tests # https://buildkite.com/elastic/appex-qa-serverless-kibana-ftr-tests
soft_fail: true # Remove when tests stabilize
build:
env:
ENVIRONMENT: ${ENVIRONMENT}
EC_ENV: staging
EC_REGION: aws-us-east-1
RETRY_TESTS_ON_FAIL: "true"
message: "${BUILDKITE_MESSAGE} (triggered by pipeline.tests-staging.yaml)"

- label: ":rocket: Fleet synthetic monitor to check the long standing project"
trigger: "serverless-quality-gates"
build:
message: "${BUILDKITE_MESSAGE} (triggered by pipeline.tests-staging.yaml)"
env:
TARGET_ENV: staging
CHECK_SYNTHETICS: true
CHECK_SYNTHETICS_TAG: "fleet"
CHECK_SYNTHETICS_MINIMUM_RUNS: 3
MAX_FAILURES: 2
CHECK_SYNTHETIC_MAX_POLL: 50
soft_fail: true

- wait: ~

- group: "Kibana Release Manager"
steps:
- label: ":judge::seedling: Trigger Manual Tests Phase"
command: "make -C /agent trigger-manual-verification-phase"
agents:
image: "docker.elastic.co/ci-agent-images/manual-verification-agent:0.0.6"
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ steps:
EC_REGION: aws-us-east-1
RETRY_TESTS_ON_FAIL: "true"
message: "${BUILDKITE_MESSAGE} (triggered by pipeline.tests-staging.yaml)"

- label: ":rocket: Fleet synthetic monitor to check the long standing project"
trigger: "serverless-quality-gates"
build:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
steps:
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/edr_workflows/mki_security_solution_defend_workflows.sh cypress:dw:qa:serverless:run
label: "Serverless MKI QA Defend Workflows Cypress Tests on Serverless"
label: "Cypress MKI - Defend Workflows "
key: test_defend_workflows
agents:
image: family/kibana-ubuntu-2004
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
steps:
- group: "Serverless MKI QA Detection Engine - Cypress Tests"
- group: "Cypress MKI - Detection Engine"
key: cypress_test_detections_engine
steps:
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/security_solution_cypress/mki_security_solution_cypress.sh cypress:run:qa:serverless:detection_engine
label: "Serverless MKI QA Detection Engine - Security Solution Cypress Tests"
label: "Cypress MKI - Detection Engine"
key: test_detection_engine
env:
BK_TEST_SUITE_KEY: "serverless-cypress-detection-engine"
Expand All @@ -22,7 +22,7 @@ steps:
limit: 1

- command: .buildkite/scripts/pipelines/security_solution_quality_gate/security_solution_cypress/mki_security_solution_cypress.sh cypress:run:qa:serverless:detection_engine:exceptions
label: "Serverless MKI QA Detection Engine - Exceptions - Security Solution Cypress Tests"
label: "Cypress MKI - Detection Engine - Exceptions"
key: test_detection_engine_exceptions
env:
BK_TEST_SUITE_KEY: "serverless-cypress-detection-engine"
Expand All @@ -40,7 +40,7 @@ steps:
- exit_status: "-1"
limit: 1

- group: "Serverless MKI QA Detection Engine - API Integration"
- group: "API MKI - Detection Engine - "
key: api_test_detections_engine
steps:
- label: Running exception_lists_items:qa:serverless
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
steps:
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/security_solution_cypress/mki_security_solution_cypress.sh cypress:run:qa:serverless:entity_analytics
label: 'Serverless MKI QA Entity Analytics - Security Solution Cypress Tests'
label: 'Cypress MKI - Entity Analytics'
key: test_entity_analytics
env:
BK_TEST_SUITE_KEY: "serverless-cypress-entity-analytics"
Expand All @@ -18,7 +18,7 @@ steps:
- exit_status: '-1'
limit: 1

- group: "Serverless MKI QA Entity Analytics - API Integration"
- group: "API MKI - Entity Analytics"
key: api_test_entity_analytics
steps:
- label: Running entity_analytics:qa:serverless
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
steps:
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/security_solution_cypress/mki_security_solution_cypress.sh cypress:run:qa:serverless:explore
key: test_explore
label: 'Serverless MKI QA Explore - Security Solution Cypress Tests'
label: 'Cypress MKI - Explore'
env:
BK_TEST_SUITE_KEY: "serverless-cypress-explore"
agents:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
steps:
- command: .buildkite/scripts/pipelines/security_solution_quality_gate/security_solution_cypress/mki_security_solution_cypress.sh cypress:run:qa:serverless:ai_assistant
label: "Serverless MKI QA AI Assistant - Security Solution Cypress Tests"
label: "Cypress MKI - GenAI
key: test_ai_assistant
env:
BK_TEST_SUITE_KEY: "serverless-cypress-gen-ai"
Expand All @@ -18,7 +18,7 @@ steps:
- exit_status: "-1"
limit: 1

- group: "Serverless MKI QA AI Assistant - API Integration"
- group: "API MKI - GenAI"
key: api_test_ai_assistant
steps:
- label: Running genai:qa:serverless
Expand Down
Loading

0 comments on commit 4338fb9

Please sign in to comment.