Commit graph

226 commits

Author SHA1 Message Date
cachedout c5073f4849
Archive e2e test results in ES (#72575)
* Archive e2e test results in ES

* Disable flaky comment feature and PR notifications

* Update .ci/end2end.groovy

Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com>

Co-authored-by: Victor Martinez <victormartinezrubio@gmail.com>
2020-07-21 10:08:54 +00:00
Spencer a221e04b3c
[pipeline/commitStatus] update commit status in baseline-capture job (#72366)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-07-20 15:06:02 -07:00
Spencer b695d60516
[baseline/capture] use high-memory nodes with ramDisks (#71894)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-07-16 17:13:32 -07:00
Spencer 5a755ddb01
Add plugin list to docs that is generated from the repo (#71731)
Co-authored-by: Stacey Gammon <gammon@elastic.co>
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-16 12:17:39 -07:00
Tre c918d2d355
[QA][Code Coverage] Upload a new Team Assignment on every ci run (#71175)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-16 10:34:52 -06:00
Tyler Smalley f0b4986099
Restores task for downloading Chromium builds (#71749)
This was removed in https://github.com/elastic/kibana/pull/69165 without
realizing it was used by the packer cache. I renamed it to be more
inline with what it actually does.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2020-07-15 06:53:40 -07:00
spalger e318ea76dc fix triggered job name 2020-07-14 15:10:01 -07:00
spalger b1433e6317 remove unnecessary context reference from trigger job
(cherry picked from commit 817fdf9b439e85c3ddfda126b3efb4e45c36006b)
2020-07-14 15:08:29 -07:00
spalger a81d8b55ab rename visual_baseline -> baseline_capture 2020-07-14 15:01:39 -07:00
Brian Seeders a5c9c4ec43 [CI] Add baseline trigger job 2020-07-14 15:01:32 -07:00
Tyler Smalley afe785b43a
[build] Creates Linux aarch64 archive (#69165)
- Updates Linux Chromium builds to accept architecture argument (defaults to x64) for arm64 support.
  - Example: `python ~/chromium/build_chromium/build.py 312d84c8ce62810976feda0d3457108a6dfff9e6 arm64`
- Updates all Chromium builds to include architecture in filename. 
  - `chromium-312d84c-linux_arm64.zip` _(new)_
  - `chromium-312d84c-linux.zip` > `chromium-312d84c-linux_x64.zip`
- Moves Chromium install from data directory to `x-pack/plugins/reporting/chromium`
- Moves Chromium download cache from `x-pack/plugins/reporting/.chromium` to `.chromium`
- Installs Chromium during build (closes #53664)
- Updates build to be architecture aware (x64 and aarch64)
- Removed Chromium debug logs, they were not helpful and can not be written inside the Kibana root. If we were to keep them, we would need to write to `logging.dist`.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2020-07-09 19:42:48 -07:00
spalger 8e2277a667 send slack notifications on visual baseline failures 2020-07-09 15:04:51 -07:00
Spencer b6a06dfb61
Revert #64011 and subsequent fixes (#71137)
* Revert "temporarily disable firefox functional tests in PRs (#71116)"

This reverts commit 54bd07f81b.

* Revert "[savedObjects field count] run in baseline job (#70999)"

This reverts commit 53ee7a762d.

* Revert "[CI] Add pipeline task queue framework and merge workers into one (#64011)"

This reverts commit 465ed21194.

* Revert revert of change to jenkins_xpack_visual_regression.sh

Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-07-08 13:05:12 -07:00
Brian Seeders 465ed21194
[CI] Add pipeline task queue framework and merge workers into one (#64011) 2020-07-07 14:14:30 -04:00
Victor Martinez 564e91fdec
[APM-UI] e2e speed up build (#70704) 2020-07-06 07:41:32 +01:00
liza-mae 52f8d3a58b
Build docker image for elasticsearch snapshot (#70482)
* Build docker image for elasticsearch snapshot

* Consolidate statements

* Update .ci/es-snapshots/Jenkinsfile_build_es

Co-authored-by: Brian Seeders <seeders@gmail.com>

* Update find

* Use larger worker

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Brian Seeders <seeders@gmail.com>
2020-07-02 13:41:23 -06:00
Tre 12460b456c
[QA] [Code Coverage] Add Three Dot Compare Url (#70525) 2020-07-02 10:01:54 -06:00
Tre f428b2dabe
[QA][Code Coverage] Drop catchError and use try / catch instead, (#69198)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-30 17:07:24 -06:00
Tre 175bdb588f
[QA] [Code Coverage] Integrate with Team Assignment Pipeline and Add Research and Development Indexes and Cluster (#69348)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-30 17:00:45 -06:00
Brian Seeders 1ad18794ef
[CI] Record Github commit statuses outside of PRs (#69432) 2020-06-23 13:32:03 -04:00
Brian Seeders beb0da1d58
[CI] Fix packer cache git branch reference value (#69207) 2020-06-16 17:03:59 -04:00
Victor Martinez 88eed9819c
[CI] GitHub check details link to test reports and errorlevel (#69157) 2020-06-16 07:23:10 +01:00
Brian Seeders 9c98ba9a9e
[CI] Add pipeline library unit tests (#68556) 2020-06-11 12:19:14 -04:00
Tre 5bfd704dd8
[QA] slack notify on failure (#68126) 2020-06-05 10:49:06 -06:00
Tim Sullivan 2f67cbfa9c
[Reporting] Move code out of Legacy (#67904)
* [Reporting] Move code out of Legacy

* Elasticsearch is not a plugin dep

* add data as plugin dependo

* diff cleanup 1

* log the browser download

* Update paths in outside code for new Reporting home

* fix download test

* add numeral typing for x-pack/test

* Fix jest tests for np migration

* Shorten import paths

* remove this file, add typings to the node module

* remove local typing that has been provided by node module

* Add optional security plugin dep

* revert conflicting apm typings removal

* fix i18n

* fix snakecase whitelist

Co-authored-by: Joel Griffith <joel.griffith@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-03 15:40:56 -07:00
Dmitry Lemeshko 77abbf257d
Fix code coverage for jest, upload merged reports (#68149)
* replace path in json files

* upload combined reports to artifacts for debug purpose
2020-06-03 22:21:28 +02:00
Brian Seeders add5b11611
[CI] Fix packer cache node_modules references 2020-06-01 14:41:30 -04:00
Tiago Costa d431b3cf0b
chore(NA): add support for accessibility test group on jenkins flaky test runner (#67652) 2020-05-28 18:31:42 +01:00
Brian Seeders dc3d259f10
Revert "[CI] Fix packer cache node_modules references (#67208)"
This reverts commit b2019c1924.
2020-05-27 17:25:53 -04:00
Brian Seeders c559eecd00
[CI] Change slack notifications icon to yellow heart for unstable (#66896) 2020-05-27 12:49:39 -04:00
Brian Seeders b2019c1924
[CI] Fix packer cache node_modules references (#67208) 2020-05-27 10:47:47 -04:00
Victor Martinez abcee098f1
ci(jenkins): use APM e2e in the CI (#61803) 2020-05-26 16:18:25 +01:00
Spencer 604e5c4a72
[ci-stats] track baseline job (#66440) 2020-05-13 14:10:09 -07:00
Tre 4853f24705
Ingest code coverage (#62336) 2020-05-13 15:09:42 -06:00
Brian Seeders 283b61b1d8
Increase verify es job timeout to 2.5 hours (#65313) 2020-05-05 13:59:55 -04:00
Søren Louv-Jansen e02350cdc7
[APM] Update path to APM app after move to NP (#65034) 2020-05-05 18:22:47 +02:00
Brian Seeders 1bb1091abe
[CI] Slack alerts - Elasticsearch snapshot failures (#64724) 2020-05-05 10:06:37 -04:00
Brian Seeders fb30a822b3
Add 2 flaky retries to es snapshot jobs (#64553) 2020-05-04 14:08:50 -04:00
Dmitry Lemeshko bac638a37e
Update jest config for coverage (#64648)
* set files to track for coverage collection

* increase timeout to 4h

* trying to add detectOpenHandles to avoid worker stuck

* update config

* make config paths more common

* update configs

* update jest oss config

* exclude 'tests' folder for coverage
2020-04-29 20:00:14 +03:00
Spencer 4962fe9d8a
[jenkins] refer to sizes in most pipeline code (#62082)
* [jenkins] refer to sizes in most pipeline code

* switch back to `linux && immutable` for small instances

Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-04 07:11:31 -07:00
Uladzislau Lasitsa 5d5c012f3b
Migrate test plugins ⇒ NP (kbn_tp_sample_panel_action) (#60749)
* Migrated sample_action to NP. Panel action tests returned to the test flow.

* fixed names

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-01 17:11:33 +03:00
Spencer 4bc9e8b4a8
Fix visual baseline job (#59348)
* Establish Percy baselines

* move Jenkinsfile changed back to `.ci` directory

* rename xpack workers

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-03-05 13:01:42 -07:00
Spencer 692c1d0713
[ci] add Jenkinsfile for visual baseline job (#52154)
* [ci] add Jenkinsfile for visual baseline job

* fixup the jenkinsfile

* update jenkinsfile syntax
2020-03-03 18:15:44 -07:00
Brian Seeders c90cfe208d
[CI] Pipeline refactoring (#56447) 2020-03-02 15:04:27 -05:00
Manuel de la Peña d27b6c05d3
Migrate existing Cypress tests to Cypress + Cucumber (#57299)
* chore: move gitignore to the cypress directory

* chore: ignore more test files

* fix: do not check the Loading Message

It seems not relevant to the main purpose of these tests

* chore: use cypres + webpack + cucumber scaffolding

See https://github.com/TheBrainFamily/cypress-cucumber-webpack-typescript-example

* chore: add eslint and prettier for code linting

* feat: convert existing Cypress test into BDD style

* feat: add support for using proper Node version in MacOSX

* chore: use tslint

* chore: use old layout

We are keeping cypress as rootDir to follow project's structure. On the other hand,
having a second cypress directory at the 2nd level is the default structure, as shown
in the examples:
- https://github.com/TheBrainFamily/cypress-cucumber-webpack-typescript-example
- a240054d7f/examples/preprocessors__typescript-webpack

* chore: remove prelint script meanwhile we fix TS lint

* chore: move test results to a specific directory

* chore: rename variable following old code

* chore: remove non-needed lints, as we are going to use kibana build

* chore: import snapshot function from cypress

* chore: add readFile utils back from a bad removal

* chore: change format of JSON spec file

It was automatically changed by tests

* chore: move CI directory to the proper layout in order for Jenkins to work

* chore: store test-results from proper dir on Jenkins

* chore: store artifacts properly on Jenkins

* Fix type issues

* chore: rename test application to e2e (end-to-end)

We are keeping the build system within the test application, isolating dependencies

* docs: reorganise docs for APM UI e2e tests

* fix: Use proper cypress support file

* chore: use existing NPM script for running cypress on CI

* chore: update paths in CI scripts

* docs: document how the CI runs the tests

* chore: use Node 10 for tests

* chore: Use kibana's Node version for tests

* chore: run yarn install

* docs: update docs

* fix: path was wrong

* docs: fix paths and flags used to load data

* docs: elasticsearch fix flag

* docs: Bootstrap kibana before running it

* docs: remove outdated info

* chore: move background steps to the scenario

This would avoid not reading the background when the number of scenarios grows

Co-authored-by: Dario Gieselaar <d.gieselaar@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-26 11:00:54 -08:00
Dmitry Lemeshko d6aff77485
remove NODE_ENV=test (#58037)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-02-20 13:12:04 +01:00
Victor Martinez 446fda62f2
[jenkins] Notify GH Checks for the apm-ui e2e pipeline (#52900) 2020-02-18 08:25:14 +00:00
Dmitry Lemeshko 25fb555a53
Code coverage: run functional tests from repo copy (#55195)
* run functional tests from cloned folders

* do not copy kibana.yml

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-29 14:36:47 +01:00
Brian Seeders 99f224097c
Remove matrix build support (#54202) 2020-01-27 17:10:34 -05:00
Brian Seeders 12bfd3bf77
Fix number of executions per agent in flaky test job (#54311) 2020-01-09 09:48:22 -05:00
Dmitry Lemeshko 26ce6104a9
Code coverage setup on CI (#49003)
* running code coverage in CI

* apply review feedback

* add custom function to upload merged coverage reports

* fix artifacts upload without coverage

* add file extension to fix validation

* Check code_coverage is set

* run oss tests via grunt task

* review fixes

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-01-08 21:08:48 +01:00
Brian Seeders 4b6c2f84e1
Elasticsearch snapshots automation (#53706) 2020-01-07 11:50:08 -05:00
Stacey Gammon 79fc07c0c3
Add top level examples folder and command to run, --run-examples. (#52027)
* Add top level examples folder and command to run, `--run-examples`.

* Add comment explaining reason --run-examples flag turns off base path.
2019-12-10 18:02:03 -05:00
Victor Martinez 9ee67fb6a1
ci(jenkins): enable APM UI e2e tests (#48109) 2019-12-05 13:55:43 +00:00
Spencer 24df2a3716
add serverMocha config for flaky job (#51508)
* add serverMocha config for flaky job

* fix typo

* no reason to setup everything over and over, just call scripts/mocha

* force CI_GROUP param for testing

* define local CI_GROUP_PARAM that can be assigned alternate values temporarily

* add additional metadata to job description

* add workerNumber param to worker block

* use kibanaPipeline.getPostBuildWorker to define wrapper function

* use kibanaPipeline specific bash function

* revert changes made for debugging
2019-11-25 14:54:28 -07:00
Brian Seeders 504604a4f2
Add labels to shell scripts in Jenkins (#49657) 2019-11-15 10:59:05 -05:00
Spencer 0010447f0f
[a11y] add initial accessibility functional tests (#43584)
* [a11y] add initial accessibility functional tests

* add accessibility jobs

* fix config path

* remove percy setup from scripts

* disable color-contrast rule

* apply changes from @myasonik

* define aria-controls/owns props even when suggestions aren't visible

* [ftr/a11y] only throw error when there are errors

* adding tests for management page

* add a11y test for management page

* adding ignore rules' to a11y

* accessibility test for kibana home

* 7 passing tests, 0 failures

* jest snapshot update

* support a11y test in pipeline job

* update a11y test script for pipelines

* use oss compatible ci setup

* fix exclude syntax

* add default exclusion syntax
2019-11-07 10:07:40 -05:00
Brian Seeders 6468e794fc
Flaky test runner improvements/fixes (#49367)
* Allocate multiple flaky test runner agents as executions grow

* WIP support for deleting kibana install dir during CI

* Add setup script for testing scripts

* Add REMOVE_KIBANA_INSTALL_DIR=1 to flaky test runner

* Change flaky test runner worker processes from 8 to 12
2019-10-30 17:24:28 -04:00
liza-mae 56c32a24fd
Enable visual tests (#47861)
* Enable visual tests

* Uncomment visual tests jobs

* More testing - use dev token and only run visual tests

* Fix dev token

* Fix token again

* Skip infra tests

* Set style of table

* Try setting discover sample size

* Fix Jenkinsfile

* Remove login_page test from config (it skipped but failing)

* Remove line

* Prep to merge, revert token and update Jenkinsfile

* Try skipping at Security level, instead of removing from config
2019-10-30 14:19:40 -06:00
Brian Seeders 9da6c07059
Re-add pipeline for flaky test runner job (#48781)
* Revert "Revert "Add pipeline for flaky test runner job (#46740)""

This reverts commit 7d96a13fad.

Also reconcile changes to Jenkinsfile since original revert happened

* Fix param parsing and add missed change

* Add missing variable
2019-10-25 12:57:46 -04:00
Brian Seeders 7d96a13fad
Revert "Add pipeline for flaky test runner job (#46740)"
This reverts commit e89425552b.
2019-10-04 16:55:20 -04:00
Brian Seeders e89425552b
Add pipeline for flaky test runner job (#46740)
* WIP Jenkinsfile for flaky test runner

* Fix syntax

* A few more jenkinsfile fixes

* A few more fixes

* Can't round numbers in Jenkins groovy sandbox apparently

* More fixes

* Only do build_kbn_tp_sample_panel_action once during flaky testing

* Fix path and try setting a different JOB value

* Keep track of flaky test failures

* Introduce flaky test for testing

* Some flaky test pipeline cleanup

* Fix a couple of issues with flaky test failure tracking

* Update flaky test runner build name/desc with metadata

* Revert "Introduce flaky test for testing"

This reverts commit 202e9d86cf130ef37aff1817781a5b694aa2aa32.

* Try adding a local shared library

* Move local library loading logic to kibana pipeline library

* Move shared groovy code to shared library

* Add missed file

* Add ability to specify multiple agents for flaky test runner

* Update kibana-pipeline-library version

* Fix bug causing early exit for oss ciGroup1
2019-10-04 13:53:46 -04:00
Brian Seeders cafc857aba Re-split ciGroups after pipeline rollout (#46375)
* Re-split ciGroups after pipeline rollout

Revert "Revert "Revert "Revert "Revert "[ci] compress jobs for CI stab… (#45454)"

This reverts commit 9a109f2170.

Revert "set IS_PIPELINE_JOB in intake jobs (#45850)"

This reverts commit b1a01effa8.

* Split one of the slow test suites up to try to make overall CI faster

* Disable visualRegression groups, they are being handled in other work

* Revert "Split one of the slow test suites up to try to make overall CI faster"

This reverts commit 1213239545.

* Move some different xpack ciGroup8 suites around
2019-09-25 15:18:37 -07:00
Brian Seeders 4142659079
Run pipeline scripts with runbld (#45844)
Change how runbld is invoked, and skip junit processing by default
2019-09-18 10:38:39 -04:00
liza-mae 61d600f19f
Skip discover visual tests (#45580)
* Skip discover visual tests

* Re-enable visual test jobs

* Disable visual tests

* Remove newline

* Remove new line

* Add a comment for the skipped test with a link to Github issue
2019-09-16 11:45:46 -06:00
Spencer 9a109f2170
Revert "Revert "Revert "Revert "[ci] compress jobs for CI stab… (#45454)
* Revert "Revert "Revert "Revert "[ci] compress jobs for CI stability" (#44584)"""

This reverts commit 148b8c0f90.

* sync changes with Jenkinsfile
2019-09-11 15:27:43 -07:00
Brian Seeders 27d23c4184 Jenkins pipeline with parallel cigroups (#45285)
* Pipeline

* WIP some work for parallelization with ciGroups

* Fix xpack kibana install dir, and add some debugging

* Attempt to quick fix a few tests

* Revert "Revert "Revert "[ci] compress jobs for CI stability" (#44584)""

This reverts commit 078ac2897f.

* Recombine test groups, and try runbld again

* Mostly cleanup, and fix failed_tests reporting to hopefully work for both pipeline and non-pipeline

* Fix typo in shell script

* Remove some debug code

* Add support for changing es transport.port during testing via TEST_ES_TRANSPORT_PORT

* Fix test that uses hard-coded es transport port and add it back in to parallel groups

* Disable checks reporter again for now

* Set env var for TEST_ES_TRANSPORT_PORT in pipeline

* Update Jenkinsfile for shorter testrunner labels

* Fix another hard-coded transport port

* Fix a new test with hard-coded URLs

* Jenkinsfile cleanup and fix one of the groups

* Fix double slash

* Testing vault credentials on jenkins server

* Add a non-existent credential

* Revert "Add a non-existent credential"

This reverts commit 0dc234c465a5483b1a994cb510a182fef766e9cc.

* Try github-checks-reporter again

* github-checks-reporter should only run for elastic/kibana, forks won't work

* Clean up some debug code

* Changing names around to try to make BlueOcean UI a little better

* Add more stages

* Make some changes to stage structure to mirror a nested example from CloudBees

* Handle TODOs, and some cleanup in Jenkinsfile

* Pass GIT_BRANCH when started without GHPRB, fix branch check

* Fix mailer problem and add code that ensures all tests are in cigroups back in

* Test adding worker/job name to junit report paths

* Remove some duplication from ci_setup scripts

* Fix unit test that uses junit path

* Don't reinstall node every time setup_env is run

* Fix yarn install logic

* Fix another unit test that uses junit output dir

* Download latest ES snapshot after kibana builds

* Make sure junit reports are always processed

* Add two failing tests for testing purposes

* Add support to Jenkinsfile for kibana build e-mails

* Remove some debug code for email sending

* Change JOB env handling in junit paths and move it to a sub-directory

* Revert "Add two failing tests for testing purposes"

This reverts commit 5715203e26922a93483feb0ebb8bb3fdcc3daf8c.

* Fix junit report path in test

* Don't send kibana emails on build abort

* Address PR feedback, formatting and use built-in url formatting library

* Fix path formatting for functional test

* Add email sending back in to Jenkinsfile

* Fix another unit test with path problem
2019-09-11 11:58:28 -07:00
spalger 078ac2897f Revert "Revert "[ci] compress jobs for CI stability" (#44584)"
This reverts commit 50355d08f2.
2019-09-10 09:03:23 -07:00
Spencer 50355d08f2
Revert "[ci] compress jobs for CI stability" (#44584)
This reverts commit debf8c62b4.
2019-09-03 08:36:47 -07:00
Yulong c429b0ba92
[Code] try fix ts-lang shutdown unit test (#37618) 2019-09-03 16:51:35 +08:00
spalger debf8c62b4 [ci] compress jobs for CI stability 2019-08-28 22:31:40 -07:00
spalger a9b29161cc Revert "combine jobs to cut down workers and trade time for stability"
This reverts commit d8daf9934f.
2019-08-28 21:08:58 -07:00
spalger d22df96edb joining jobs didn't work 2019-08-28 20:49:57 -07:00
spalger 8e287f104a compress jobs a little more 2019-08-28 16:43:57 -07:00
spalger d8daf9934f combine jobs to cut down workers and trade time for stability 2019-08-28 16:35:34 -07:00
spalger b4dbd06954 Revert "run x-pack-firefoxSmoke 40 times"
This reverts commit 84a5103e67.
2019-08-22 12:45:43 -07:00
Spencer 69755e0d2f
[ftr/services/pipelineEditor] use retry.waitFor() (#43704)
* [ftr/services/pipelineEditor] use retry.waitFor()

* run x-pack-firefoxSmoke 40 times
2019-08-22 12:45:25 -07:00
liza-mae fcba9a6456
Fix percy target branch for PRs (#43160)
* Fix percy target branch for PRs

* Add debug logging

* Try diff branch name

* Use PR_TARGET_BRANCH instead

* renable visReg jobs

* parse target branch from `branch_specifier`

* rename debugging print out

* set `PERCY_BRANCH` and `PERCY_TARGET_BRANCH`

* log PERCY_TARGET_BRANCH

* cleanup error messages
2019-08-14 10:44:01 -06:00
spalger ca1bc3e511 disable visual regression jobs 2019-08-12 18:54:33 -07:00
Spencer c29a17ce3c
[ftr] enable visualRegression jobs (#42989)
* enable visualRegression jobs

* skip the console and login visual tests
2019-08-12 10:50:22 -07:00
Spencer 9ddbd84f66
move vault setup into repo so all ci logic is in the repo (#42642)
* move vault setup into repo so all ci logic is in the repo

* turns out I'm used to less strict bash...

* unset VAULT_ADDR
2019-08-05 17:20:23 -07:00
Spencer 376240d81b
Use kibana-ci-proxy-cache for chrome and gecko drivers (#41581)
* [ci] download chromedriver and geckodriver through a caching proxy

* restore chromedriver and geckodriver caching in bootstrap cache
2019-07-19 21:24:48 -07:00
Spencer c040914b2c
Use custom GECKODRIVER_CDNURL (#41513) 2019-07-18 22:00:25 -07:00
Court Ewing 48c5df2e98 Revert "Temporarily invalidate node_modules cache"
This reverts commit 33c237e187.

This commit was only necessary until the cache was rebuilt.
2019-06-20 15:04:51 -04:00
Court Ewing 33c237e187 Temporarily invalidate node_modules cache 2019-06-20 13:34:48 -04:00
Court Ewing 2d171c92f5 Fix path references into and out of x-pack/legacy 2019-06-20 13:34:48 -04:00
Dmitry Lemeshko 581755098a
[firefox] Run functional tests in dedicated CI groups (#38416)
* 2 jobs for Firefox tests

* review fixes

* make sh files executable

* add check reporter
2019-06-17 19:31:41 +03:00
liza-mae 0003a32f56
[WIP] FTR Percy changes (#36897)
* [ftr/percy] integrate percy with functional test runner

* execute ftr within `percy exec`

* share PERCY_BIN and GRUNT_BIN vars in setup

* [license] whitelist `(Unlicense OR Apache-2.0)`

* [percy] include pr/parallel info in env

* echo the actual variable value

* destructure required modules

* [ci] calculate percy env in a script

* remove outdated eslint overrides

* oops, nonce should be the same for each build

* take snapshots in context tests

* add percy snapshots to some dashboard tests

* account for extra execution of PERCY_BIN

* remove usage of percy service

* rename service to `visualTesting`

* write a simple test

* switch left-over percy test to visualTesting

* set log level for percy agent

* trigger ci

* try using the system chrome install instead of downloading one

* fix export definition

* Don't skip chromium download

* Add Spencer's fix to point to chrome installation

* Attempting to split tests into own ci job and test files

* Renumber job

* Add tag to decorations file

* Try new files with existing CI job

* Try again to create a new CI job

* Fix eslint problem with space

* eslint updates

* fix console test

* make test names unique

* Update ci group names

* Try old name again

* save

* add separate visual_regression ci job

* add visual regression ci job

* add new job to jobs.yml

* update path to take_percy_snapshot script

* use fixed percy job total

* fix common services import

* move visual_create_and_add_embeddables to visual_regression project

* finish moving create_and_add_embeddables

* add x-pack visual regression job

* migrate dashboard_snapshots tests to visual_regression

* remove references to removed test files

* restore some unnecessary changes

* reimplement the login page tests

* yarn.lock update

* fix test

* remove old CI_GROUP 100 block

* update failed_tests trap

* reduce yarn.lock changes

* disable debug logging

* disable visual-regression tests for now, we can enable them in specific prs
2019-06-14 10:35:23 -06:00
Lee Drengenberg 67dc8a45aa
Split ciGroup3 and ciGroup5 (#36928)
* split large x-pack ciGroup5 into 3 groups

* split large x-pack ciGroup3 into 2 groups

* Add groups to the jenkins xpack ci group file

* Re-level some more work

* move es_search_source test to new describe block

* move es_search_source to first in ciGroup7
2019-05-24 14:20:43 -05:00
Frank Hassanabad 9d816aa549
Change feature-secops to look like master (#35246)
Makes feature-secops closely mirror master of kibana
* Puts the ci/cd system back to where it mirrors master
* Removed stylelint
* Fixed accidental linter differences that accumulated along the way
* Fixed accidental package addition of `cherrio`
* Added back the translation file of `zh-CN.json`
* https://github.com/elastic/ingest-dev/issues/397
* https://github.com/elastic/ingest-dev/issues/198
2019-04-17 18:19:18 -06:00
Xavier Mouligneau f5a545cdbe Merge branch 'master' of github.com:elastic/kibana into feature-secops 2019-04-02 16:10:16 -04:00
spalger d7b2889b28 [packer_cache] make packer_cache idempotent
When issues arise while building the packer_cache, like the ongoing es snapshot download errors, the cache scripts
are retried (up to 5 attempts). In order for this to work the script needs to be idempotent, but `mkdir` is failing
if the .chromedriver or .geckodriver directory already exists because they were not using the -p option.
2019-03-31 18:13:10 -07:00
spalger 8ccd4334aa fix cp command syntax 2019-03-29 15:55:19 -07:00
spalger 971533a29d capture geckodriver in packer cache 2019-03-29 15:12:32 -07:00
Xavier Mouligneau 8331dc942c Merge branch 'master' of github.com:elastic/kibana into feature-secops 2019-03-26 09:23:22 -04:00
Spencer 06195e9d8b
Refactor ES-related environment variables (#33036)
* [ci/es] base default es version on pkg.branch value

* [ci/env] initialize $TEST_ES_FROM in checkout_sibling_es.sh

* [UA] remove TEST_ES_SNAPSHOT_VERSION override

* [ci/es] call checkout_sibling_es.sh from one location

* [ci] remove unused `--from` param

* [ci/env] always default to snapshots, switch to source when necessary

* [kbn/test] default esFrom to $TEST_ES_FROM

* [ci/setup] fix define order

* [ci/grunt] don't pass --esFrom let env pass through

* [ci/env] use branch, not version

* [ci] use same indent style as following lines

* [kbn/test] apply default values when processing args

* [kbn/test] simplify defaults, read default on each process
2019-03-13 11:51:06 -07:00
Spencer 3dadece427 [ci/chromedriver] update chromedriver cache paths to match most recent snapshots 2019-03-11 17:38:06 -07:00
Garrett Spong 36a00c543d
Merge branch 'master' of github.com:elastic/kibana into feature-secops 2019-03-11 18:30:54 -06:00
spalger ac5da1ec94 [ci/packer] fix type and skip delete of kibana checkout 2019-03-09 11:03:06 -08:00
spalger 6a0d45ad90 [ci/packer] delete master repo before creating 7.x bootstrap cache 2019-03-09 08:48:46 -08:00
spalger fdffb06881 [ci] remove 7.x bootstrap cache build, running out of disk on workers 2019-03-08 16:07:37 -08:00
spalger 10d27eacbb [ci] build packer cache for other branches 2019-03-08 13:25:16 -08:00
Spencer 72f0c85cb5
download oss version of kibana in packer cache script (#32588) 2019-03-06 16:31:51 -08:00
Spencer b213f5551d
[ftr] determine oss ciGroups by reading the yaml file (#32575) 2019-03-06 13:11:07 -08:00
spalger 6793d053eb [packer] download chromedriver zip into packer cache 2019-03-05 12:03:07 -08:00
Spencer 63acdc3ba0
[packer cache] Remove .chromedriver from tar call 2019-02-19 10:32:21 -08:00
spalger 561b795295 remove chromedriver cache from packer images, it doesn't work 2019-02-17 16:33:21 -08:00
Spencer 8f986619cf
[ci/chromedriver] cache and restore in packer cache (#31047)
When building the packer cache, we should download the chromedriver install and make it available to master builds.
2019-02-16 13:56:56 -08:00
Garrett Spong 44ec857719
Merge branch 'master' of https://github.com/elastic/kibana into feature-secops 2019-02-11 15:23:30 -07:00
Jonah Bull 3805703265 [ci] remove reference to non-existent phantom file (#29541)
Phantom support was removed recently, need to remove this reference as well
otherwise the `packer_cache` script fails when building new CI images.

Related: #27141, #27142
2019-01-29 12:38:01 -08:00
Frank Hassanabad be1f8fd876
Add uncommon process es-archiver tests and remove ci tech debt (#28004)
* Added ES Archiver Tests for uncommon processes
* Re-initialized host api integration tests with new data
* Fixed ci build to work with api integration tests again
* Fixed ci build to run tslint, eslint, type_check again
* Fixed import with ui/theme to work with the dll optimizer
* Minor word changes
* https://github.com/elastic/ingest-dev/issues/193
* https://github.com/elastic/ingest-dev/issues/185
2019-01-04 08:08:49 -07:00
Xavier Mouligneau 06be9aba69 Merge branch 'master' of github.com:elastic/kibana into feature-secops 2018-12-20 14:33:36 -05:00
nicknak ac75236b78
Reporting phantom and chromium tests should run in parallel. (#26566)
* Reporting phantom and chromium tests should run in parallel.

* Chromium tests should be done in group 9.

* Attempting to use group 2 in ci for chromium tests.

* X-pack CI jobs should have 7 groups.

* Phantom tests should be in group 7.
2018-12-06 13:45:40 -05:00
Tiago Costa d5b2c8eaf2
Create vendor dll for the client modules (#22618)
* feat(NA): first dll bundler code.

* chore(NA): upgrade to webpack 4.

* chore(NA): updated package.json

* chore(NA): removed old code.

* chore(NA): add parallel option.

* chore(NA): removed console log and old var about  node modules.

* chore(NA): turn off unsafe cache.

* chore(NA): update lock files.

* chore(NA): new config for dll generation.

* chore(NA): update stats emit.

* chore(NA): update dependencies.

* chore(NA): right cache loaders.

* chore(NA): remove ui_bundles alias.

* feat(20749): init implementation on bridge plugin for dll bundler.

* feat(20749): init implementation for dll compiler.

* feat(20749): dll bundler init from other process and webpack wrapper..

* feat(20749): optimizer changes to integrate with  dll bundler.

* chore(20749): split into different processes.

* refact(20749): change to single running process.

* refact(NA): improvements on dll bundler plugin.

* refact(NA): removing including loop on plugins.

* refact(20749): only run dllReference once.

* chore(20749): todo on result.request path building.

* chore(NA): lock files updated.

* chore(NA): avoiding dll paths being removed.

* chore(NA): tests on sync generation.

* chore(NA): changes on entry paths compiler.

* chore(NA): different hooks tests.

* chore(20749): first working version, single process, for dynamic building dll.

* feat(20749): last gross features for the dynamicdllplugin.

* refact(20749): string interpolation when creating the path to delete in every optimizer cycle. feat(20749): creating the DynamicDllPlugin foundations.

* chore(NA): updated base optimizer run function args.

* chore(20749): first working solution with vendor dll both for prod and dev.

* chore(20749): useful todos on client dlls.

* feat(NA): auto built blacklist for server node_modules.

* refact(NA): removed unused code.

* chore(NA): update all webpack and loaders stuff to last versions.

* refact(NA): first refacts on clean taks related with dll. feat(NA): added clean empty folders task.

* refact(NA): removed support for console logs during the build.

* refact(NA): removed extra space.

* refact(NA): removed extra space.

* refact(NA): getDllModules function.

* chore(NA): removed unsafeCache option.

* feat(NA): removed unsafeCache option.

* refact(NA): apply general inheritance principles to the optimizer: hooks, and init. refact(NA): merge dynamic dll plugin into the common config. refact(NA): restore old template structure - vendors.dll style is always emitted.

* fix(NA): fs_optimizer run function by not returning inside async func.

* fix(NA): change template anchor name from vendor to vendors.

* docs(NA): added info about files were keeping when cleaning the bundles.

* fix(NA): filtering elible dll modules to delete.

* refact(NA): removed old dll bundler in favor on new dynamic dll plugin.

* refact(NA): initial split for clean modules on dll task.

* refact(NA): update new dll config model. refact(NA): update config on dynamicdllplugin.

* refact(NA): major work refactor for dynamic dll plugin.

* refact(NA): extract clean node modules on dll task to its own folder.

* refact(NA): organize imports.

* docs(NA): add docs to registerCompilerHooks function for the optimizer.

* refact(NA): finished refactor for dynamic dll plugin with correct error handling for runWebpack function.

* refact(NA): basic structure for clean client modules on dll task.

* fix(NA): resolve path for dll manifest during cclean build tasks.

* refact(NA): split webpack dll related functions to their own file for clean client modules on dll task.

* refact(NA): added error handling for the clean client modules on dll task - webpack dll related functions.

* docs(NA): added license header.

* refact(NA): complete split out the functions from the clean modules on dll task to the code_parser file.

* refact(NA): main task entries compose.

* docs(NA): extend docs for the getDependenciesFromFile function.

* refact(NA): final structure split for clean client node modules dll task.

* fix(NA): added missing param to calculate top level dependencies.

* docs(NA): completed todo description about dll location.

* fix(NA): add production option to webpack config on kbn-pm.

* docs(NA): extended documentation about style extraction.

* refact(NA): removed extra comments.

* feat(NA): env variable to force dll creation.

* feat(NA): include option to define folders to keep on delete empty folders task.

* refact(NA): remove unused method from dll compiler.

* feat(NA): move dlls outside bundles folder and support request for /dlls from a browser perspective.

* chore(NA): gitignore updated to include new dlls folder.

* chore(NA): eslintignore updated.

* chore(NA): removed strange file from repo.

* test(NA): fix failing tests for bundles_route.

* fix(NA): change paths array to path string in a server route config.

* fix(NA): remove infinite loop calls on register hooks functions.

* fix(NA): readFile should only override the file in case it not exists.

* refact(NA): removed dll compiler finish log on success with stats.

* fix(NA): dll compiler alias.

* fix(NA): dynamic dll plugin flow on needs compile.

* fix(NA): raw alias config.

* Revert "fix(NA): raw alias config."

This reverts commit ebb245a786.

* feat(NA): raw alias for moment on dll config model.

* fix(NA): removed uiBundles from base_optimizer call on dynamicdllplugin.

* chore(NA): decrease moment versions.

* chore(NA): temporary changes on dll compiler.

* fix(NA): majority of problems between dll approach, webpackshims and browser tests.

* fix(NA): webpackShims integration with client vendors dll. fix(NA): enable esm modules mutability for development. fix(NA): only clean dll contents from build when they belong to node_modules.

* fix(NA): fix for endless dll compilation loop.

* fix(NA): removed esm plugin and skipped test using wrong stub strategy.

* docs(NA): added some comments for the skipped test.

* feat(NA): considering requires inside webpackShims valid entry paths to add to the dll entry file.

* fix(NA): small fix for the max compilation logic.

* docs(NA): add small explanatory note.

* fix(NA): building requires results with relative requires found onn webpackShims.

* docs(NA): add small note for error handling on dll compiler.

* fix(NA): move precinct to prod dependencies.

* test(NA): testing running functional tests on production.

* fix(NA): restore tests run config for development flag. feat(NA): force dll creation with uiBundles is Dev flag.

* chore(NA): update dependencies.

* feat(NA): test update dll to completely match base optimizer one.

* fix(NA): removed ts.

* refact(NA): removed unused consts.

* fix(NA): set back transpile sacss task in place.

* fix(NA): fix resolve remoing ts and tsx.

* fix(NA): set back transpile sacss task in place.

* fix(NA): removing isDevmode from mustCompileDll.

* fix(NA): add search for import statements into the dependencies visitor.

* fix(NA): add dll suffix to vendors resource on ui bootstrap template.

* fix(NA): some configs for unrelated dll work projects.

* chore(NA): upgrade canvas plugins webpack build to webpack4.

* chore(NA): add shim for moment-duration-format.

* chore(NA): stup moment-duration-format into the moment webpackShim.

* chore(NA): setup moment-duration-format into the moment-timezone webpackShim.

* fix(NA): moment and moment-timezone webpackShims

* chore(NA): added moment and moment-timezone webpackShims to x-pack. fix(NA): revert changes on webpackShims for oss kibana.

* fix(NA): xpack webpackshims for moment.

* fix(NA): remove xpack webpakcshims for moment.

* fix(NA): webpakcshims for moment.

* fix(NA): remove every changes from webpackShims and xpack webpackShims.

* fix(NA): fix visitors to gather server dependencies resulting from export * from and export x, 'x' from.

* chore(NA): update some webpack related dependencies.

* fix(NA): in the dll the plugins need to have their own dependencies. It is the same for the ones into the tests relying on test against distributable.

* feat(NA): including test/plugin_functional plugins into the kbn-pm bootstrap tasks.

* fix(NA): wrong built yarn lock files.

* chore(NA): updated webpack related dependencies.

* feat(NA): add missing color for dynamic_dll_plugin logging tag.

* chore(NA): removed forgotten console.log.

* chore(NA): removed forgotten dead code.

* chore(NA): removed missing old comment.

* docs(NA): added missing notice for 2 tools we have relied on.

* refact(NA): added is to a boolean variable to keep the consistency inside the code parser strategies.

* fix(NA): update notice cli to exclude search inside dlls bundles. chore(NA): update notice file.

* feat(NA): use lodash matches in the code parser visitors logic.

* docs(NA): updated notice file related with the code parser visitors logic..

* docs(NA): added explanation for the process that decides if we should build a new dll or not.

* test(NA): added missing tests for some usefull parts of the code.

* refact(NA): split registerCompileHook function into small ones.

* chore(NA): uncomment scripts from tests.

* feat(NA): isolate code-parser in a kbn package

* fix(NA): missing relative dot into the cwd function.

* chore(NA): update all inter deps to match.

* fix(NA): rebuild the yarn locks and the package jsons based on master ones.

* fix(NA): move babel-code-parser to the prod deps.

* chore(NA): include build path instead of the base root path.

* refact(NA): integrate plugin_functional test plugins with workspaces.

* fix(NA): include missing license for plugin functional test plugins.

* fix(NA): always write posix paths into the dll entry file in order to make the dlls compilation working on windows too. chore(NA): improve error handling into dll compiler.

* fix(NA): revert wrong moved line from canvas.

* fix(NA): match ts-loader version between kibana and x-pack.

* fix(NA): sync dll compiler with base_optimizer.

* fix(NA): exclude kbn-interpreter from the dll.

* refact(NA): remove exclusion of kbn-interpretor from base_optimizer.

* chore(NA): add dlls folder to the yarn kbn clean script.

* fix(NA): missing utf8 input format encoding when reading a file to create the hash into the watch optimizer cahce.

* refact(NA): re-engineering to the dynamic_dll_plugin logs and lifecycle.

* fix(NA): update clean node modules task to search under legacy/core_plugins.

* fix(NA): fix build on windows with globby on cleaning dlls for the watch optimizer cache.

* docs(NA): update documentation for the clean client node modules build task.

* docs(NA): added extra comment to clarify the purpose for the built entrypoints.

* chore(NA): update clean client node_modules code to use posix path.

* feat(NA): add support for discovering server entries over the legacy plugins and the new plugins.
2018-12-05 15:45:19 +00:00
Frank Hassanabad 8de4294686
Cut down on all tests except for secops tests and one example of infr… (#24693)
* Cut down on all tests except for secops tests and one example of infra integration tests
* Commented out code for only this branch
* Added comments and "please see issue number"
* https://github.com/elastic/ingest-dev/issues/60
2018-12-04 10:02:23 -07:00
Spencer cf9c594ca3
[ci] don't try to extract bootstrap cache in packer cache script (#26408) 2018-11-29 07:20:29 -08:00
spalger 7d328a80aa [ci] add set -e to packer_cache script 2018-11-29 02:59:35 -08:00
Spencer 555036447d
[ci] simplify ci_setup scripts (#26215)
Cleanup some of the legacy bits from our ci_setup, simplify the setup necessary in child CI scripts, and unify the more generic bits of the scripts.
2018-11-28 15:37:36 -08:00
Spencer 44414c68b3
[ci] cache reporting browsers in packer (#26195) 2018-11-26 10:33:33 -08:00
Spencer ff49a1c674
[ci] load the boostrap_cache baked into CI images (#25841)
We're creating a cache of files that should speed up bootstraping CI jobs and baking it into the CI images with 992daf5fed/.ci/packer_cache.sh.

This PR utilizes that cache (that will start showing up in CI images shortly) by extracting it into the Kibana workspace and failing if it's missing for some reason.
2018-11-20 14:22:44 -08:00
Spencer fad8d0cc3a
[ci][ftr][kbn/test] split up CI jobs (#25838)
* [ci][ftr][kbn/test] split up CI jobs

* [ci] run --assert-none-excluded in ci groups, before builds

* [ftr] improve error message when excluded tests found

* [ci] document other places the ciGroups live
2018-11-20 14:02:06 -08:00
spalger 6436aff952 [ci/packer] remove optimize cache, it doesn't really help 2018-11-19 13:47:03 -08:00
spalger d319bd3c42 [ci] skip build in packer_cache.sh, run optimizer instead, avoid timeout 2018-11-18 15:25:22 -08:00
spalger 01033c2732 build bootstrap cache into ci image 2018-11-16 16:40:41 -08:00
spalger aca61f3fd7 [ci] add basic packer_cache script to test it out 2018-11-15 22:40:15 -08:00
Spencer 399c50cc5c
[ci] define matrix axes in code (#25360)
* [ci] define matrix axes in code

* [ci] add null exclude rule

* [ci] make script executable

* [ci] execute sub-scripts

* [ci] simplify job variable name
2018-11-12 13:03:18 -08:00