kibana/.buildkite
Alex Szabo 015b910de2
[Ops] Run kibana quality gate suites (#165346)
## Summary
Sets up quality gate triggering in Kibana. The tests are mostly
triggering external pipelines and relying on their results. Here's an
example run:
https://buildkite.com/elastic/kibana-tests/builds/28#job-018a69a6-c860-405e-ab2b-bce2aed07df3

According to [this
doc](https://docs.google.com/document/d/15rx2Z-soL20An0nBUcXX0o_HHf1OU_IgrHXgz20NndI/edit)
many of the quality gates are really required for the QA->Staging
promotion step.

Most of the tests are in the QA stage: 
 - [fleet smoke tests](https://buildkite.com/elastic/fleet-smoke-tests)
- ~~[QAF RAC load
tests](https://buildkite.com/elastic/appex-qa-rac-alert-load)~~ Removed,
see https://github.com/elastic/kibana/pull/165346#discussion_r1316822164
- [QAF serverless
tests](https://buildkite.com/elastic/appex-qa-kibana-serverless-ftr-tests)
- [control plane QA smoke
tests](https://buildkite.com/elastic/ess-k8s-qa-e2e-tests-daily)
- [security solution
tests](.buildkite/scripts/pipelines/security_solution_quality_gate/pipeline.sh)
+ manual check for confirming manual tests
 - Manual confirmation 👍

Staging has: 
- [control plane staging smoke
tests](https://buildkite.com/elastic/ess-k8s-staging-e2e-tests)
 - Manual confirmation 👍

Production has:
- [control plane production smoke
tests](https://buildkite.com/elastic/ess-k8s-production-e2e-tests)
 - Manual confirmation 👍

### Quirks
- ~~`SKIP_KIBANA_HOOKS=1` needs to be set from the triggering job~~
Split into https://github.com/elastic/kibana/pull/165597
- The pipeline can only be tested from the non-fork, `elastic/kibana`
repo's branches (because buildkite doesn't see forks' branches)
- Soft fails added, to not block the release pipeline in case we still
need to adjust/work on some unstable tests

Reference:
https://docs.google.com/document/d/15rx2Z-soL20An0nBUcXX0o_HHf1OU_IgrHXgz20NndI/edit
Depends on: #165009 
Closes: https://github.com/elastic/kibana-operations/issues/10

---------

Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
Co-authored-by: Thomas Watson <watson@elastic.co>
2023-09-06 13:22:43 +02:00
..
hooks [Ops] Skip buildkite hooks for non kibana jobs (#165597) 2023-09-04 09:29:16 -07:00
pipeline-utils [Build Kite][Code Coverage] Drop ftr_run_order.json (#151114) 2023-02-22 11:39:06 +00:00
pipelines [Ops] Run kibana quality gate suites (#165346) 2023-09-06 13:22:43 +02:00
scripts [Security Solution] Fix osquery Cypress CI build (#165677) 2023-09-05 12:12:04 -05:00
.mocharc.json [CI] Move kibana-buildkite-library into kibana (#134787) 2022-06-28 13:19:05 -04:00
.npmrc [CI] Move kibana-buildkite-library into kibana (#134787) 2022-06-28 13:19:05 -04:00
disabled_jest_configs.json [Watcher] Re-enable jest tests (#162592) 2023-08-09 13:17:07 -04:00
ftr_configs.yml [Data Discovery] Run example plugin functional tests in Serverless (#163411) 2023-08-31 10:23:05 -03:00
package-lock.json Upgrade Node.js from v16.18.1 to v18.13.0 (#144012) 2023-01-17 21:04:23 +01:00
package.json Upgrade Node.js from v16.18.1 to v18.13.0 (#144012) 2023-01-17 21:04:23 +01:00
pull_requests.json Add temporary test pipeline for KME test (#157334) 2023-05-10 17:16:49 -04:00
README.md [CI] Move kibana-buildkite-library into kibana (#134787) 2022-06-28 13:19:05 -04:00
tsconfig.json Implement package linter (#148496) 2023-01-09 16:49:29 -07:00
tsconfig.test.json [CI] Move kibana-buildkite-library into kibana (#134787) 2022-06-28 13:19:05 -04:00

Kibana / Buildkite

Directory Structure

  • hooks - special directory used by Buildkite agents for hooks
  • pipeline-utils - Shared TypeScript utils for use in pipeline scripts
  • pipelines - contains pipeline definitions
  • scripts/common - scripts that get sourced by other scripts to set environment variables or import shared functions
  • scripts/lifecycle - general scripts for tasks that run before or after individual steps or the entire build
  • scripts/steps - scripts that define something that will run for a step defined in a pipeline
  • scripts/* - all other scripts are building blocks that make up the tasks in pipelines. They may be run by other scripts, but should not be sourced