Commit graph

141 commits

Author SHA1 Message Date
Kibana Machine
1c30c54075
[8.6] [APM] Add parallel builds for cypress tests (#142598) (#147930)
# Backport

This will backport the following commits from `main` to `8.6`:
- [[APM] Add parallel builds for cypress tests
(#142598)](https://github.com/elastic/kibana/pull/142598)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Giorgos
Bamparopoulos","email":"georgios.bamparopoulos@elastic.co"},"sourceCommit":{"committedDate":"2022-12-21T15:36:08Z","message":"[APM]
Add parallel builds for cypress tests (#142598)\n\n- Tests runs
initiated by the flaky test runner are not recorded
or\r\nparallelized","sha":"042403e606e59468024b9a822ab7a9c199a487f5","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:APM","release_note:skip","v8.6.0","v8.7.0"],"number":142598,"url":"https://github.com/elastic/kibana/pull/142598","mergeCommit":{"message":"[APM]
Add parallel builds for cypress tests (#142598)\n\n- Tests runs
initiated by the flaky test runner are not recorded
or\r\nparallelized","sha":"042403e606e59468024b9a822ab7a9c199a487f5"}},"sourceBranch":"main","suggestedTargetBranches":["8.6"],"targetPullRequestStates":[{"branch":"8.6","label":"v8.6.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/142598","number":142598,"mergeCommit":{"message":"[APM]
Add parallel builds for cypress tests (#142598)\n\n- Tests runs
initiated by the flaky test runner are not recorded
or\r\nparallelized","sha":"042403e606e59468024b9a822ab7a9c199a487f5"}}]}]
BACKPORT-->

Co-authored-by: Giorgos Bamparopoulos <georgios.bamparopoulos@elastic.co>
2022-12-21 09:41:21 -07:00
Kibana Machine
f67c20d32f
[8.6] Add custom Buildkite pipeline for @kbn/handlebars (#146964) (#147275)
# Backport

This will backport the following commits from `main` to `8.6`:
- [Add custom Buildkite pipeline for @kbn/handlebars
(#146964)](https://github.com/elastic/kibana/pull/146964)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Thomas
Watson","email":"watson@elastic.co"},"sourceCommit":{"committedDate":"2022-12-08T17:28:33Z","message":"Add
custom Buildkite pipeline for @kbn/handlebars (#146964)\n\nCloses
#146963","sha":"39d27bb868ba5e0d544a0fa17afb19abf650c7bf","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:prev-minor","v8.7.0"],"number":146964,"url":"https://github.com/elastic/kibana/pull/146964","mergeCommit":{"message":"Add
custom Buildkite pipeline for @kbn/handlebars (#146964)\n\nCloses
#146963","sha":"39d27bb868ba5e0d544a0fa17afb19abf650c7bf"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/146964","number":146964,"mergeCommit":{"message":"Add
custom Buildkite pipeline for @kbn/handlebars (#146964)\n\nCloses
#146963","sha":"39d27bb868ba5e0d544a0fa17afb19abf650c7bf"}}]}]
BACKPORT-->

Co-authored-by: Thomas Watson <watson@elastic.co>
2022-12-12 03:30:09 -07:00
Luke Gmys
f1be6057c8
[TIP] Run e2e pipeline on CI (#144776)
## 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.
2022-11-09 12:51:09 +01:00
Jonathan Budzenski
62c62c3c2c
[ci] Set elasticsearch snapshot build timeout (#144831)
We had a few stalled builds that timed out after 1d. Successful builds
typically take 15m-18m. This sets the timeout 30 minutes.
2022-11-08 12:07:37 -06:00
Tiago Costa
3dd5c5388e
chore(NA): update ci step name to Check Public API Docs (#144573)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-11-04 02:27:23 +00:00
Jonathan Budzenski
f1f2107584
[ci/cloud-deploy] Remove CI success requirement (#141965)
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.
2022-10-05 11:43:15 -05:00
Spencer
249b596465
[journeys] restart ES for each journey, fix flakiness (#141530) 2022-09-26 08:56:31 -07:00
Spencer
50b3b57d9e
[ftr] add first-class support for playwrite journeys (#140680)
* [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>
2022-09-22 01:06:46 -07:00
Tyler Smalley
7be5ac42a0
[artifacts/cft] Soft fail on timeout (#141180)
Co-authored-by: Jonathan Budzenski <jon@elastic.co>
2022-09-21 09:32:36 -05:00
Tyler Smalley
7cc3e68e10 Revert "[cft] Soft fail on timeout (#141165)"
This reverts commit 2d0d3a58f2.
2022-09-20 14:02:07 -07:00
Jonathan Budzenski
2d0d3a58f2
[cft] Soft fail on timeout (#141165) 2022-09-20 15:49:27 -05:00
Jonathan Budzenski
874e4cb913
[artifacts] Improve cloud deployment error handling (#137775)
* [artifacts] Improve cloud deployment error handling

* Update .buildkite/scripts/steps/artifacts/cloud.sh

Co-authored-by: Spencer <spencer@elastic.co>

* update retry codes

Co-authored-by: Spencer <spencer@elastic.co>
2022-09-06 12:43:40 -05:00
Dzmitry Lemechko
f0fe485e7d
Add pipeline to run scalability tests from APM traces (#139548)
* 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.
2022-09-05 18:30:44 +02:00
Dzmitry Lemechko
a9ab0bf351
[performance pipeline] 60 min timeout for test step (#139613) 2022-08-29 15:39:01 +02:00
Spencer
a16fd1e033
[perf-tests/scalability] improve logging when uploading traces (#139477)
* [perf-tests/scalability] improve logging when uploading traces

* restore including kibana artifacts in scalability dataset

* create parent dirs too

* support skipping builds too
2022-08-26 20:09:04 +02:00
Jonathan Budzenski
a2f3e3bd7c
Bump linux bazel cache timeout to 30 minutes (#139491)
We're seeing some timeouts recently in the 15 minute range.
Mac timeouts are already at 60 min.
2022-08-25 11:11:11 -05:00
Brian Seeders
1019295b09
[CI] Improve reliability of macos bazel cache jobs (#138554) 2022-08-10 13:11:59 -07:00
Brian Seeders
4f100c4ed0
[CI] Convert the remaining steps in primary pipelines to spot instances (#138168) 2022-08-09 16:16:39 -04:00
Spencer
92fb5dbafc
[ci] mark PR stats as usable for metrics (#138297) 2022-08-08 14:12:04 -07:00
Jonathan Budzenski
22b21645bb
[ci] Conditional storybook builds (#136219)
* [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
2022-08-02 11:24:01 -05:00
Brian Seeders
20dec08bf1
[CI] Parallelize eslint to speed it up (#136972) 2022-07-22 16:23:17 -04:00
Jonathan Budzenski
1410bc4aa5
[cft] Add pipeline to shutdown deployment (#136659)
* [cft] Add pipeline to shutdown deployment

* 755

* save file
2022-07-20 10:22:25 -05:00
Dzmitry Lemechko
b72601c283
[performance] Re-enable apm extraction step (#136555)
* [kbn-performance-testing-dataset-extractor] add extra logging

* re-enable step
2022-07-19 09:35:54 +02:00
Jonathan Budzenski
b5b735625c
[cft] Use spot instance (#135742)
* [cft] Use spot instance, increase cpu

* revert back to n2

* Update .buildkite/pipelines/pull_request/deploy_cloud.yml

Co-authored-by: Tyler Smalley <tylersmalley@gmail.com>

Co-authored-by: Tyler Smalley <tylersmalley@gmail.com>
2022-07-12 14:55:50 -05:00
Jonathan Budzenski
8acc1466f8
[ci] Conditonal webpack bundle reports (#136215)
* [ci] Conditonal webpack bundle reports

* fix

* spacing

* \n

* fix file path
2022-07-12 12:30:49 -05:00
Baturalp Gurdin
d83f802099
stop scalability step in performance pipeline (#136211)
Co-authored-by: Spencer <spencer@elastic.co>
2022-07-12 09:14:18 -07:00
Jonathan Budzenski
87ac0fd2fe
[docker] Add ubi9 image (#135868)
* [docker] Add ubi9 image

* update artifacts tests

* cleanup

* fixes

* formatting
2022-07-08 12:02:59 -05:00
spalger
7731c414db [ci] build webpack bundle repotrs on a larger machine
We've seen OOMs on this recently, to prevent blocking more people we're just going to bump the instance size until we can narrow down the problem.
2022-07-08 08:44:00 -05:00
Spencer
9619311120
[ci] fix ftr script when called with parallelism (#135713)
* fix ftr script when called with parallelism

* Update ftr_configs.sh
2022-07-05 09:14:26 -05:00
Brian Seeders
0b0b68786a
[CI] Move kibana-buildkite-library into kibana (#134787) 2022-06-28 13:19:05 -04:00
Shahzad
d6f2dc1042
[Exploratory view] Add e2e tests (#135148)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-06-28 13:31:12 +02:00
Dzmitry Lemechko
d86f977884
[performance] re-enable scalability dataset extraction step on CI (#134719)
* 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>
2022-06-24 16:18:41 +02:00
Tre
85dc5b3578
[QA][Code Coverage] Add meta data links ci runs. (#134731)
* [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.
2022-06-23 16:00:48 +01:00
Baturalp Gurdin
e5d73a1169
ingest performance metrics to ci-stats (#134792) 2022-06-22 15:44:11 -07:00
Vitalii Dmyterko
746e259733
[Security Solution] fixes flaky-test-runner Cypress Security Solution tests (#134205)
## 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
2022-06-16 09:29:17 +01:00
Brian Seeders
b32052e66a
[CI] Trigger pipeline deploy when versions.json changes (#134387) 2022-06-15 10:47:35 -04:00
Kibana Machine
0cb1087fb4
[api-docs] 2022-06-14 Daily api_docs build (#134389)
* [api-docs] Add pipeline to build api_docs daily

* Fix kibanamachine remote

* Add --repo

* Fix PR creation

* [api-docs] Daily api_docs build

Co-authored-by: Brian Seeders <brian.seeders@elastic.co>
2022-06-14 12:58:55 -07:00
Jonathan Budzenski
fa4d1020fb
[artifacts] Remove docker cloud context verification (#134046)
This test was added as a verification step for daily releasable
artifacts.  We had originally planned on the release manager consuming
this context.  The expected workflow has changed now to us building and
publishing the docker image instead, which already has coverage in the
Build and Deploy to Cloud step.
2022-06-09 11:44:39 -05:00
Baturalp Gurdin
5d6e8940df
exclude scalability dataset extraction from single user performance tests (#133964) 2022-06-08 15:12:39 -07:00
Tre
747b898efb
[QA][Code Coverage] Drop functional code coverage (#133553)
* [QA][Code Coverage] Drop functional code coverage

* Drop ftr configs dependency.

* Still dropping missed mentions of functional
2022-06-07 10:51:33 +01:00
Brian Seeders
04ed6f8df1
[es-snapshots] Trigger packer cache job using API instead of pipeline (#133246) 2022-05-31 15:20:20 -04:00
Abdul Wahab Zahid
eab8ece3fb
[User Experience] Synthetics e2e tests. (#132896)
Co-authored-by: shahzad31 <shahzad.muhammad@elastic.co>
2022-05-31 18:03:25 +02:00
Shahzad
ed9ddc4c85
[Synthetics] Rename synthetics e2e tests (#133161) 2022-05-31 15:36:45 +02:00
Tre
5f950e617a
[QA][Code Coverage] follow up pr for ftr auto config handling & fix merge (#131734)
* [QA][Code Coverage] fixup for auto config handling pr

## Summary

Embed buildkite pipeline definition.

Follow up pr to change cc per auto config handling.
Also, resolves https://github.com/elastic/kibana/issues/132706

Increase worker count for `node scripts/build_kibana_platform_plugins` to 4 workers.

Normalize file names within coverage files such that nyc correctly builds the combined summaries.
  _Ci runs this on myriad servers, so the paths are different, which "breaks" nyc's output_

Split the final merge of functional coverage into 2 passes due to [nyc issue](https://github.com/istanbuljs/nyc/issues/1263)

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-05-27 12:28:16 +01:00
Jonathan Budzenski
bff21e760c
[artifacts] Soft fail when Cloud dependencies are unavailable (#133045) 2022-05-26 11:04:26 -07:00
Brian Seeders
60226bc3f1
[CI] Cache ES snapshots on agents (#132940) 2022-05-26 11:18:27 -04:00
Vitalii Dmyterko
d2b61738e2
[Security solution]Dynamic split of cypress tests (#125986)
- adds `parallelism: 4` for security_solution cypress buildkite pipeline
- added parsing /integrations folder with cypress tests, to retrieve paths to individual test files using `glob` utility
- list of test files split equally between agents(there are approx 70+ tests files, split ~20 per job with **parallelism=4**)
- small refactoring of existing cypress runners for `security_solution`

Old metrics(before @MadameSheema https://github.com/elastic/kibana/pull/127558 performance improvements):
before split: average time of completion ~ 1h 40m for tests, 1h 55m for Kibana build
after split in 4 chunks: chunk completion between 20m - 30m, Kibana build 1h 20m

**Current metrics:**
before split: average time of completion ~ 1h for tests, 1h 10m for Kibana build
after split in 4 chunks: each chunk completion between 10m - 20m, 1h Kibana build 1h
2022-05-19 15:09:31 +01:00
Jonathan Budzenski
3409ea325f
[artifacts] Verify docker UBI context (#132346)
* [artifacts] Verify docker UBI context

* add step

* fix filename
2022-05-18 09:21:13 -05:00
Jonathan Budzenski
e401c41e78
[artifacts/staging] Skip docker cloud verification (#132348)
Cloud builds should be skipped pending implementation of phase 2 of
daily releasable artifacts.
2022-05-17 11:22:08 -07:00
Jonathan Budzenski
b16486a999
[artifacts] Test cloud context (#130394)
* [artifacts] Test cloud context

This artifact currently has no consumers, but in the near future the
release-manager will produce Cloud images using the context.  This
ensures builds are working before we publish artifacts.

* update permissions

* fix if statement

* DOCKER_CONTEXT -> KIBANA_DOCKER_CONTEXT
2022-05-11 12:03:40 -07:00