Commit graph

849 commits

Author SHA1 Message Date
archana
b58e757794
Functional test setup with kbn-test package (#18568)
Restructure testing with kbn-test package

 - Run with multiple configs, move cli options to config
 - Package-ify kbn-test
 - Eventually we'll have functional_test_runner live in a package
of its own, and then this kbn-test will use that as a dependency,
probably still as a devDependency.
 - Implement functional_tests_server
 - Collapse single and multiple config apis into one command

Use kbn-es

Replace es_test_cluster + es_test_config with kbn/test utils

Implement new createEsTestCluster

Improve scripts, jsdocs, cli top-level tools

Lift error handling to the top level
2018-05-09 18:23:49 -05:00
Jenkins CI
fe4609647d Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00
Spencer
dea6062f9d
[grunt] remove .rej file check (#17805)
The old backport tool we used, Jasper, would create PRs with .rej files
when it couldn't merge a backport cleanly. That lead to this task which
would skip the tests if .rej files were found. Now we don't use Jasper
and this check takes about 1 minute to run on CI, so we can remove it
and save some time.
2018-04-19 13:36:31 -07:00
Kim Joar Bekkelund
6be9df01af Move to Yarn 1.6.0 (#17741) 2018-04-17 09:53:12 -07:00
Aleh Zasypkin
35e01f288f
[kbn/pm] Get rid of --skip-kibana in favour of --exclude kibana. (#17684) 2018-04-12 20:56:28 +02:00
Kim Joar Bekkelund
6730849028 Using Jest on all tests in src/server (#16373)
* Move src/server to Jest

* ESLint overrides for src/server tests

* Rename files

* Fix renamed files

* Remove unnecessary changes

* Remove exclude of src/server tests
2018-04-04 11:01:21 -07:00
Spencer
608a1e3553
Add/generate/verify NOTICE.txt file (#17504)
* [dev/notice] add scripts for generating NOTICE.txt file

* [notice] react-resize-detector@0.6.0 was removed in b445389b79

* [notice] move notice text into relevant source

* [dev/notice] Generate NOTICE.txt file

* [jenkins] verify that notice.txt is up to date in CI

* [tasks/notice] update test to use new NOTICE.txt file

* [dev/notice] update company name in NOTICE.txt

* [notice/cli] exit with 0 when --help requested

* [notice/cli] add helpful logging

* [notice/cli] use --validate flag name instead

* [notice/cli] simplify NEWLINE_RE, ignore obscure line endings

* [utils/decode_geo_hash] fixup comment

* [utils/decode_geo_hash] remove useless comment
2018-04-04 09:12:44 -07:00
Spencer
5cde84b9c1
[licenses] resolve license for private:true packages (#17537)
* [licenses] resolve license for private:true packages

* [licenses] remove outdated test

* [licenses] fix test
2018-04-04 08:44:57 -07:00
Jen Huang
ef4d26294b
Add aria-label attributes to indexed fields table, and use EuiIconTip (#17427)
* Add aria-label attributes to indexed fields table, and use EuiIconTip
* Use EUI 0.0.35
* Add `Apache License, Version 2.0` to list
2018-03-28 10:37:37 -07:00
archana
0f49d67db3
Replace tooling-log instances with @kbn/dev-utils (#17324) 2018-03-23 10:54:38 -05:00
Lukas Olson
6bac181a74
Create grunt task to generate parsers from peg files (#17069)
* Create grunt task to generate parsers from peg files

* Leave comment

* Move grunt config to config/
2018-03-21 16:42:23 -07:00
Spencer
2eb019ffd2
[yarn] upgrade sha.js pre-emptively due to license changes (#17292) 2018-03-20 16:09:10 -07:00
Tyler Smalley
82e17f435f
[kbn-es] Package for managing Elasticsearch during dev and testing (#17168)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-03-20 08:30:15 -07:00
Tyler Smalley
dc0ce9e2b9 Adds additional CC licenses (#16969)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-03-16 16:40:29 -07:00
Jonathan Budzenski
b9928ce3e3
[build] Turn on optimizeBuild logging (#16205) 2018-03-15 12:33:16 -05:00
archana
409af00d4d
Move proc_runner from x-pack-kibana into kibana (#17120)
* [tests] add proc_runner from x-pack-kibana

* [tests] implement proc_runner deps

* [tests] fix proc_runner dep

* [packages] move proc_runner into kbn-proc-runner

* [kbn-proc-runner] Package it

* [kbn-proc-runner] Chalk it up

* [kbn-proc-runner] Package.json

* Both kbn-proc-runner and kbn-utils depending on review. Sigh.

* Rename to kbn-dev-util, remove kbn-proc-runner

* Test proc-runner

* Add babel

* [proc-runner] build fixes

* Recreate yarn.locks, add mocha tests to simplemocha config
2018-03-14 19:55:50 -05:00
Spencer
ef3339bd7a
[@kbn/ui-framework] move ui-framework to a package (#17085)
* [@kbn/ui-framework] move ui-framework to a package

* [@kbn/ui-framework] restore doc_site index.html and fix build task names

* [jest] always ignore modules in target dirs
2018-03-13 10:43:39 -07:00
Kim Joar Bekkelund
48f8dc323c
[kbn-pm] Include Kibana's transitive _projects_ in build (#16813) 2018-03-12 11:00:27 +01:00
Jonathan Budzenski
eb85636d74
[master][license csv report] Support directory flag (#17073)
* [license csv report] Support directory flag (#17070)

* [license report] support directory flag

* override png-js

* override eslint-plugin-kibana-custom

* remove eslint-plugin-kibana-custom override
2018-03-09 16:53:31 -06:00
Kim Joar Bekkelund
e5d33e992a
Move running projects tests into Grunt task (#16946) 2018-03-09 14:28:47 +01:00
Aleh Zasypkin
f2fda4aca3
Introduce Jest integration tests. (#16735) 2018-02-19 17:02:01 +01:00
Spencer
4d246a10a8
[kbn-pm] rename from kbn-build (#16739) 2018-02-14 10:57:13 -07:00
Kim Joar Bekkelund
1c3b404774
Production package example: datemath (#16531) 2018-02-13 21:49:55 +01:00
CJ Cenizal
eb49a8c449
Add test-subj-selector module to packages dir. (#16623)
* Add test-subj-selector module to packages dir.
* Rename to @kbn/test-subj-selector.
* Simplify rejectRejFiles Grunt task and ignore nested node_modules.
* Update jenkins_unit script to use yarn kbn CLI.
2018-02-13 10:34:47 -08:00
Spencer
ff4213a306
Condense build task (#16687)
* [build] don't copy unwanted files

* [build] condense mkdir/touch tasks

* [i18n] verifyTranslations task has nothing to do with the build, just run in tests
2018-02-12 14:40:47 -07:00
Kim Joar Bekkelund
287c45e162
Use execFile instead of exec when installing deps in build (#16587)
* Clarify lockfile is used for resolution

* Use 'execFile' instead of 'exec'
2018-02-08 00:37:00 +01:00
Kim Joar Bekkelund
43dfbf01dc Babel preset package (#16479)
* [babel-preset] turn into a package

* switch to @kbn namespace

* [babel] pin babel-preset-env to 1.4.0, newer versions don't shim symbols

* [yarn] update lockfile
2018-02-03 12:24:16 -07:00
Kim Joar Bekkelund
c8f3efd4ef
Rename @elastic/kbn-build to @kbn/build (#16507) 2018-02-03 12:04:35 +01:00
Kim Joar Bekkelund
136ded978f
Build multiple Kibana packages for production (#16313)
* Build packages before running ESLint on CI

* Add production task to kbn-build

* Ensure packages are bootstrapped before running the build

* Run ESLint on kbn-build
2018-02-02 20:49:57 +01:00
Kim Joar Bekkelund
ec62e4f942
Handle licenses for 'private: true' packages (#16480) 2018-02-02 17:01:00 +01:00
Rashmi Kulkarni
7586401cf9
Test for Large number of Fields in Kibana. (#16237)
* test huge data

* new file for testing large number of fields
*  testing large fields
* large_fields_test
* add the unload of es_archiver
* incorporated the changes in kibana.yml
* Revert "incorporated the changes in kibana.yml"
This reverts commit 8682121678.
* cleanup
* code simplification
* removed commented code
2018-02-01 13:27:35 -08:00
Court Ewing
829985d96a
Remove tribe node support (#16397)
* Remove tribe node support

Tribe node is being removed from Elasticsearch since it has been
superseded by Cross-Cluster-Search.

* console: remove unnecessary isEnabled

The default behavior for the plugin is to be disabled when its `enabled`
configuration is set to false, so this custom isEnabled function is not
necessary any longer.
2018-01-30 14:36:38 -05:00
CJ Cenizal
6e9fc7328b
Extract fatal notification into fatalError service, add support for EuiToast notifications (#15749)
* Reorganize notify/lib files. Extract fatal notification into a fatalError service.
* Convert notify/lib tests to use Jest.
* Add ToastNotifications, GlobalToastList, and documentation.
* Remove notify.info method.
* Add createFirstIndexPatternPrompt.
* Update testSubjects.exists to accept a timeout argument.
* Skip some flaky tests.
2018-01-26 20:14:28 -08:00
Kim Joar Bekkelund
fa6736f31d
Upgrade license checker (#16147) 2018-01-19 08:49:55 +01:00
Kim Joar Bekkelund
92ea635691
Licenses csv overrides (#16136)
* Actually override licenses when writing csv

* Cleaner overrides

* Remove all the unnecessary overrides
2018-01-18 21:34:34 +01:00
Tyler Smalley
41d905309b
[optimizer] More aggressive chunking of common/vendor code (#15907)
Previously, we were not aggressive in combining common code which resulted in duplicates included in the bundles.

As an example `node_modules/elasticsearch-browser/elasticsearch.angular.js` is present in the following chunks:

* kibana.bundle.js
* dashboardViewer.bundle.js
* apm.bundle.js
* monitoring.bundle.js
* ml.bundle.js
* timelion.bundle.js
* graph.bundle.js

Vendored code (anything inside node_modules) is placed in vendors.bundle.js while everything else with more than two references is placed in commons.bundle.js.

This has a couple positive side-effects (numbers are with x-pack & canvas):

* Decreased build time. Seeing builds go from 475.76 seconds to 274.72.
* Decreased memory overhead. Uses roughly 1/3 the memory overhead.
* Decreased bundle size. A 68% reduction in overall bundle size. Going from 66.16 MB to 21.13 MB.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-01-15 08:15:28 -08:00
Court Ewing
61c7f21111
Remove angular-translate (#13066)
* remove angular translate

* remove angular-translate deps from yarn.lock
2018-01-12 09:13:42 -05:00
Spencer
0fde087ca2 Switch to Yarn (#15485)
* switch to yarn

* cleanup misc references to npm

* [yarn] loosen dependency ranges so yarn will merge more deps

* fix linting error now that moment uses ESM

* [licenses] font-awesome changed the format of its license id

* Use local yarn

* Misc fixes

* eslintignore built yarn file

* Remove mkdir which doesn't do what it should do

* Check build without upgrading lots of versions

* Fix license check

* too many moments

* Better description

* Review fixes

* Lock to angular@1.6.5

* More specific version locks

* Revert "More specific version locks"

This reverts commit 11ef81102e.

* Revert "Lock to angular@1.6.5"

This reverts commit 3ade68c14c.

* rm yarn.lock; yarn

* Forcing a specific version of React, Angular, Moment

* Using vendored version of yarn in ci

* Use --frozen-lockfile

* fixes
2018-01-10 13:23:43 +01:00
Spencer
499f7cec77
[optimizer] run webpack compilation ASAP (no more laziness) (#15795)
* [optimizer] run webpack compilation ASAP (no more laziness)

* [optimize] fix variable reference
2018-01-09 00:46:16 -07:00
Court Ewing
4634aa633b
Revert "[optimizer] More aggressive chunking of common/vendor code (#15816)" (#15878)
This reverts commit 92b373b304.
2018-01-07 09:27:06 -05:00
Tyler Smalley
92b373b304
[optimizer] More aggressive chunking of common/vendor code (#15816)
Previously, we were not aggressive in combining common code which resulted in duplicates included in the bundles.

As an example `node_modules/elasticsearch-browser/elasticsearch.angular.js` is present in the following chunks:

* kibana.bundle.js
* dashboardViewer.bundle.js
* apm.bundle.js
* monitoring.bundle.js
* ml.bundle.js
* timelion.bundle.js
* graph.bundle.js

Vendor code (anything inside Kibana's node_modules) is placed in vendors.bundle.js while everything else with more than two references is placed in commons.bundle.js.

This has a couple positive side-effects (numbers are with x-pack & canvas):

* Decreased build time. Seeing builds go from 475.76 seconds to 274.72.
* Decreased memory overhead. Uses roughly 1/3 the memory overhead.
* Decreased bundle size. A 68% reduction in overall bundle size. Going from 66.16 MB to 21.13 MB.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-01-05 10:05:17 -08:00
CJ Cenizal
b0e25a9466
EUI: Reset CSS #2 (#15657)
* Add EUI v0.0.7 as a dependency.
- Add support for using dark theme EUI CSS in Dashboard.
- Set light theme as the default.
- Add comments to chrome.jade about role of theme node.
- Add (WTFPL OR MIT) to acceptable licenses.

* Remove old reset CSS.
- Remove naked element selectors from base.less.
- Remove Bootstrap resets.
- Remove UI Framework reset.
- Remove unused reset styles from UI Framework.

* Fix CSS regressions caused by removal of CSS reset.
- Replace usage of sr-only with euiScreenReaderOnly.
- Apply euiButtonEmpty classes to the 'Add a filter' button.
- Fix Notification padding and layout.
- Apply euiTabs styles to Timepicker mode tabs.
- Fix layout of Available Fields heading in Discover.
- Add padding to Popular Fields container in Discover.
- Push down Selected Fields heading in Discover sidebar.
- Fix appearance of links in Discover sidebar.
- Fix height of pills in Filter Bar.

* Fix timepicker tests.
- Remove kbn-accessible-click from timepicker buttons.

* Fix functional tests.
- Use byCssSelector inside of testSubjects.find.
- Delete flaky view_edit.js test: 'when time changed is stored with dashboard'.
- Delete flaky view_edit.js test: 'and preserves edits on cancel > when time changed is stored with dashboard'.
- Delete flake Gauge Chart tests. EUI changed the font size, and the text within the gauges doesn't render when the window is too small.
2017-12-18 16:43:32 -08:00
archana
36652c2dbc
[CLI] Readable logs on Windows with chalk colors (#15557)
* [colors] try new cli colors

* [colors] try magentaBright instead of magenta

* [colors] try white for log text

* [colors] replace all remaining ansicolors with chalk

* [colors] try yellowBright instead of yellow

* remove ansicolors from package.json

* [tests] attempt to fix tests

* [tests] attempt to fix tests again

* [color] backgrounds, cleanup
2017-12-15 14:35:10 -06:00
Spencer
c65da14d7c
[optimizer] extract plugin discovery (#14745)
* [plugins] extract plugin discover from the kibana server

* integrate plugin discovery module with server

* [pluginDiscovery] fully extend config before checking enabled status

* [pluginDiscovery] limit arbitrary defaults in PluginSpec

* [ui/navLink] fix tests

* [ui/injectedVars] fix tests

* [ui/app] fix tests

* [server/plugins] convert init to callPluginHook tests

* [build/verifyTranslations] update verify logic

* [pluginDiscovery] remove rx utils

* fix i18n transaltion key name

* [pluginDiscovery] do kibana version checks as a part of discovery

* [pluginDiscovery/createPacksInDirectory$] clarify error handling

* [eslint] fix lint errors

* [uiApp/modules] ensure load order matches master

* [uiBundle] use known uiExport type for providers

* [uiExports] use the `home` export type

* [uiExports] validate that all uiExport types are known

* [timelion] remove archaic/broken bwc check

* revert some stragler changes

* [pluginSpecs] reformat comments

* [uiBundle] rebel and use more fcb 😬

* correct comment

* [server/waitForPluginsInit] describe queues var

* [server/plugins] prevent multiple calls to next() by using single then()

* [uiApp] remove archaic deprecation warning

* [uiApp] tighten up tests

* [pluginDiscovery/errors] remove $ from symbol var

* [pluginDiscovery/reduceExportSpecs] update docs

* [pluginDiscovery/findPluginSpecs] rightVersion -> isRightVersion

* [pluginDiscovery/findPluginSpecs] fix typos

* [uiApps/getById] use Map() rather than memoize

* save

* [savedObjects/mappings] use uiExports.savedObjectMappings

* [server/mapping/indexMapping] update tests, addRootProperties method removed

* [uiExports] "embeddableHandlers" -> "embeddableFactories"

* [pluginDiscovery] fix pluralization of invalidVersionSpec$

* [pluginDiscover] add README

* [pluginDiscovery/reduceExportSpecs] don't ignore fasly spec values, just undefined

* [ui/exportTypes] use better reducer names

* [ui/uiExports] add README

* fix links

* [pluginDiscovery/readme] expand examples

* [pluginDiscovery/readme] clean up reduceExportSpecs() doc

* [ui/uiExports/readme] cleanup example

* [pluginDiscovery] remove needless use of lodash

* [pluginDiscovery/waitForComplete] use better name

* [pluginDiscovery/findPluginSpecs] use fixtures rather than core_plugins

* [pluginDiscovery/stubSchema] use deafult: false

* [plguinDiscovery/pluginConfig] add tests

* typo

* [uiExports/readme] fix link

* [pluginDiscovery/packAtPath] fail with InvalidPackError if path is not a string

* [pluginDiscovery/packAtPath] rely on error.code to detect missing package.json file

* [pluginDiscovery/packAtPath] only attempt to get pack when observable is subscribed

* [pluginDiscovery/packAtPath] add tests

* [pluginDiscovery/pluginPack] move absolute path checks into fs lib

* [pluginDiscovery/packsInDirectory] fix error type check

* [pluginDiscovery/pluginPack/tests] share some utils

* [pluginDiscovery/packsInDirectory] add tests

* [pluginDiscovery/pluginPack] only cast undefined to array

* [pluginDiscovery/pluginPack] add tests

* [pluginDiscovery/pluginSpec/isVersionCompatible] add tests

* [pluginDiscovery/InvalidPluginError] be less redundant

* [pluginDiscovery/pluginSpec] verify config service is passed to isEnabled()

* [pluginDiscovery/pluginSpec] add tests

* fix "existent" spelling
2017-12-05 18:11:50 -07:00
Spencer
f71ec29bd6
[CI] Produce junit test reports (#15281)
* [mocha] use custom reporter for legible results in jenkins

* [jest] use custom result processor for legible results in jenkins

* [karma] enable junit output on CI

* [mocha/junitReporter] accept rootDirectory as configuration

* [jest/reporter] use reporters option added in jest 20

* [toolingLog] remove black/white specific colors

* [dev/mocha/junit] no reason for junit to be a "reporter"

* typos

* [dev/mocha/junit] use else if

* [karma/junit] use string#replace for explicitness

* [junit] use test file path as "classname"

* [ftr/mocha] no longer a "console" specific reporter
2017-12-05 17:29:48 -07:00
Jonathan Budzenski
999911b9a7
[build] Clear the node version used to optimize (#15264) 2017-12-05 13:33:35 -06:00
Jonathan Budzenski
218986c07e
Create separate startup scripts for development and production (#13806)
* Use separate startup scripts for development and production

* build kibana directly

* [build] Use downloaded node when pre-optimizing

* clearer variable name

* Add breaking changes docs
2017-11-22 12:49:37 -06:00
Spencer
90e2aa001b
[savedObjects] Use index template (#14271)
* [es][savedObjects/index] put template on each savedObject write

The elasticsearch plugin currently checks for the Kibana index on each iteration of the healthCheck, and creates it if it does not exist. This removes that step from the healthCheck and instead, before each savedObject is written to elasticsearch, ensures that Elasticsearch has the necessary index template should the write result in index creation.

The healthCheck still has the `patchKibanaIndex()` logic, which checks the type in the Kibana index and adds any missing types. This step now does nothing when the Kibana index does not exist, and does what it has always done when it does.

* [ftr] remove unused kibanaIndex service

(cherry picked from commit b1ef897dafeb6d43fe279776e44a9d793a389dc3)

* [savedObjects/integration] create now creates kibana index

* [es/healthCheck] remove use of format()

* [es/healthCheck/tests] use sinon assertions

* [es/patchKibanaIndex] test for kibana index missing behavior

* [savedObjects/errors] add tests for EsAutoCreateIndexError

* [savedObjects/config] deprecate and remove savedObjects.indexCheckTimeout config

* use dangling commas consistently

* [ui/error_auto_create_index] fix class names

* [ui/savedObjectsClient] no need to specify basePath

* [eslint] fix linting issue
2017-11-21 17:05:46 -07:00
Jonathan Budzenski
ace0173adf
Adds task to export a CSV of all dependencies (#15068)
* Adds task to export a CSV of all dependencies

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>

* Fixes tests and changes argument name to `out`

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>

* Uses csv as argument for output file

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>

* Removes unused columns

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>

* [license csv] Fetch all licenses by default, add release flag to only generate release dependencies
2017-11-21 10:29:12 -06:00
Spencer
95329c581f
[precommit hook] add dev script (#14890)
* [precommitHook] move to dev script

* [eslint] fix lint error

* [dev/eslint] do simply boolean checks first

* [dev] use shared REPO_ROOT constant

* [dev/File] precompute relative/ext of path

* [dev/eslint] fix relative import

* [dev/eslint] fix typos

* [grunt] remove unused run:eslintStaged config

* [dev/run] only create log if we are going to use it

* [dev/run/isFailError] ensure return value is Boolean

* [dev/precommitHook] use less intermediate vars
2017-11-20 14:22:24 -07:00