# Backport
This will backport the following commits from `main` to `8.7`:
- [Split scalability pipelines
(#151915)](https://github.com/elastic/kibana/pull/151915)
<!--- Backport version: 8.9.7 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2023-02-24T11:52:57Z","message":"Split
scalability pipelines (#151915)\n\n## Summary\r\n\r\nAs a POC single api
capacity testing pipeline was sharing pipeline steps\r\n& main script
with scalability journey.\r\nThis pipeline does not build Kibana
sources, but downloads existing\r\nKibana build and run tests against
it.\r\n\r\nThis PR moves capacity testing in its own script and its own
pipeline\r\nthat includes building Kibana sources and testing your
changes.\r\n\r\ncc @afharo \r\n\r\nIt should be possible to test your
Kibana changes for apis
performance\r\nimprovements.","sha":"18fbb946aa33d784c5fcbf26545587b91afffb28","branchLabelMapping":{"^v8.8.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v8.7.0","v8.8.0","v8.6.3"],"number":151915,"url":"https://github.com/elastic/kibana/pull/151915","mergeCommit":{"message":"Split
scalability pipelines (#151915)\n\n## Summary\r\n\r\nAs a POC single api
capacity testing pipeline was sharing pipeline steps\r\n& main script
with scalability journey.\r\nThis pipeline does not build Kibana
sources, but downloads existing\r\nKibana build and run tests against
it.\r\n\r\nThis PR moves capacity testing in its own script and its own
pipeline\r\nthat includes building Kibana sources and testing your
changes.\r\n\r\ncc @afharo \r\n\r\nIt should be possible to test your
Kibana changes for apis
performance\r\nimprovements.","sha":"18fbb946aa33d784c5fcbf26545587b91afffb28"}},"sourceBranch":"main","suggestedTargetBranches":["8.7","8.6"],"targetPullRequestStates":[{"branch":"8.7","label":"v8.7.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.8.0","labelRegex":"^v8.8.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/151915","number":151915,"mergeCommit":{"message":"Split
scalability pipelines (#151915)\n\n## Summary\r\n\r\nAs a POC single api
capacity testing pipeline was sharing pipeline steps\r\n& main script
with scalability journey.\r\nThis pipeline does not build Kibana
sources, but downloads existing\r\nKibana build and run tests against
it.\r\n\r\nThis PR moves capacity testing in its own script and its own
pipeline\r\nthat includes building Kibana sources and testing your
changes.\r\n\r\ncc @afharo \r\n\r\nIt should be possible to test your
Kibana changes for apis
performance\r\nimprovements.","sha":"18fbb946aa33d784c5fcbf26545587b91afffb28"}},{"branch":"8.6","label":"v8.6.3","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
Reopens#148864 to trigger via REST instead of yaml. The previous
implementation did not support commit triggered builds.
This conditionally adds a pipeline trigger to
`kibana-artifacts-container-image` at the end of the on-merge pipeline
when tests are passing. The triggered pipeline will build (and
eventually push) our default docker images.
## Summary
I noticed some noise in [Performance
dashboard](dd0473ac-826f-5621-9a10-25319700326e?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-24h%2Fh,to:now)))
and think it is better to disable Telemetry for journeys by default.
We use it to report performance events and this PR enables it in the
performance pipeline via env variable `PERFORMANCE_ENABLE_TELEMETRY`.
For other pipelines (PRs,
[performance-data-set-extraction](https://buildkite.com/elastic/kibana-performance-data-set-extraction))
running on regular workers or local troubleshooting there is no much
value to collect inconsistent values.
This adds a new pipeline to build our default container image, using the
`kibana-ci` docker namespace and the docker version based on the first 7
digits of the commit hash.
https://buildkite.com/elastic/kibana-artifacts-container-image/builds/3
Will have followups for:
1) on-merge trigger
2) docker push / controller pipeline trigger
need to make sure branches other than main, and manual triggers
(untested) skip publishing.
## Summary
Part of #140828
PR for run yml file
[elastic/kibana-buildkite/pull/67](https://github.com/elastic/kibana-buildkite/pull/67)
This PR moves data set extraction step in separate pipeline, still
reporting KIbana scalability and ES Rally output in Kibana-related
bucket.
Reporting ES Rally data to required bucket will be added in the
follow-up PR.
## Summary
Last week, our team has dicovered that e2e tests are not executed on CI,
this PR is an attempt to fix that.
Threat intel pipeline should be run whenever the `threat_intelligence`
plugin source or related tests config has changed.
This removes the success requirement in the cloud deployment step for
pull requests.
Creating a cloud deployment from a pull request is optional and not
providing test coverage. Failures are typically upstream and not
something that can be fixed from the Kibana repository.
* [ftr] add first-class support for playwrite journeys
* [CI] Auto-commit changed files from 'node scripts/generate codeowners'
* fix jest test
* remove ability to customize kibana server args, if we need it we can add it back
* remove dev dir that doesn't exist
* fix typo
* prevent duplicated array converstion logic by sharing flag reader
* remove destructuring of option
* fix scalability config and config_path import
* fix start_servers args and tests
* include simple readme
* fix jest tests and support build re-use when changes are just to jest tests
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
* add scalability pipeline to run scenarios from APM traces
* update runner description
* remove retry-all-errors curl flag
* add flag for curl to ignore connection refused
* override ES_HOST for gatling runner
* exclude config from regular CI, remove bail flag
* fix uploaded scalability traces
* fix text and remove space
* add validation in config
* use functions instead of scripts
* renaming var in loop
* add step timeout
* define functions before call
* use trap for stopping ES
* fix path for artifacts extraction
* update serverArgs
* add pre-build step
* add pre-build step
* use default pre-build step
* delete step
* print BUILDKITE_PIPELINE_SLUG
* disable telemetry
* remove log
* enable telemetry
* add step to upload test results
* move trap after pid
* upload test reports to gcs
* fix script
* Revert "fix script"
This reverts commit 1c6bc3f45c.
* Revert "upload test reports to gcs"
This reverts commit c957a31c32.
* [perf-tests/scalability] improve logging when uploading traces
* restore including kibana artifacts in scalability dataset
* create parent dirs too
* support skipping builds too
* [ci] Conditional storybook builds
This moves storybook builds to run conditionally, either if there's a
storybook change or the `ci:build-storybooks` label is set.
These builds don't seem to be providing test coverage, and may not be utilized
in scenarios such as automated backports or unrelated changes.
* test regex
* formatting
* Revert "test regex"
This reverts commit dcef465414.
* fix revert
* move to spot instance
* fix merge
* add scalability setup for login and promotion_tracking_dashboard journeys, re-enable step on ci
* update query to get single ftr transaction
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [QA][Code Coverage] Add a link to discover pinned to the current build.
When personnel other than myself wish to visually verify code coverage,
this link will be available in the ci output.
* Drop single quotes.
* Add annotation per J Budz.
* Fixup text.
* Drop debug.
## Summary
Fixes issue with security solution cypress flaky test runner
After introducing [dynamic split for cypress tests in Security Solution](https://github.com/elastic/kibana/pull/125986), there was discovered an issue with flaky test runner, which is using parallelism in slightly different manner: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/697#_: tests were evenly split between N jobs, instead of repeating tests N times(as N jobs)
So, for flaky runner, I introducing a new ENV variable that would disable split for tests between parallel jobs and instead would run all test per each job.
Here is link to flaky runner build from this PR, which shows that all test runs per job
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/736