In order for the runbld project we use in CI to auto-discover the junit reports we generate they need to match `TEST-*.xml`, which will allow us to include more details in the failure emails, and push failure info to the build-stats cluster.
(cherry picked from commit 8d0b7e7f7e)
* [Functional Tests] Use @kbn/test on Kibana CI (#18967)
* Replace test:api with @kbn/test runTests
* Improve CLI help menu 🆘
* Use --es-from
* Replace jenkins:selenium with kbn-test
* Validate cli args, fixing test in the process
* Clean up some stuff
* Code review fixes
* Explanation for collectCliArgs
* Remove exit codes, they're useless anyway.
* Make markdown vis test pass with dev_mode setting
* Tests
* Remove unneeded export
* Code review: move console logging up to cli.js
* Code review: refactor startServers and runTests to take single options collection
* Code review: Remove all things I am sure we do not use
* Improve tests
* Code review fixes
* Pass created log to runFtr, runElasticsearch, runKibanaServer
* Update --es-from option to --esFrom
* Still need dev_mode setting in 6.3
* [mocha] run tests with mocha script, remove grunt-simple-mocha
* [ci] force colored output
* [ci] disable color when reading the yarn bin
* [dev/build/exec] support tooling log having its own chalk
* [dev/mocha] avoid changing the cwd of the process
* [dev/mocha] only match files, speed up negative matches
* [cli/serve/test] strip ansi control characters from logs
* [ci] disable color in all `yarn bin` invocations
* [dev/mocha] cleanup old runInBand check
* [dev/mocha] enable gloabl leak checks
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
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.
* [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
* adding large_string_test (#17312)
* adding large_string_test
* removed a failing test, modified the existing one
* new line at the end of mappings.json
* removed the data.json file and also removed the navigateTo() and clickKibanaIndices() as createIndexPattern() takes care of it
* more modifications
* 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
* 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.
* [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
* 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
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>
* 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
* Update lockfile
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>
* 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.
* [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
* [server/rootRedirect] fix root_redirect view location
* [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