Commit graph

961 commits

Author SHA1 Message Date
Spencer f1d862f053 [grunt/jest] fail task when jest fails (#12049)
* [grunt/jest] fail task when jest fails

* 😶
2017-05-26 17:21:45 -07:00
Spencer d4db4f5b48 [esvm] bump, remove outdated config (#12043) 2017-05-26 13:36:45 -07:00
Court Ewing c57a775060 build: remove 32 bit builds (#11941)
All builds are now 64 bit, which is what we want to support from 6.0
onward.
2017-05-25 16:15:25 -04:00
Spencer 5c04ff65fb Remove use of npm ls in grunt tasks (#11965)
* [grunt/build] refactor _build:notice task to not depend on npm

The _build:notice task used to rely on the output of `npm ls` to determine where modules were defined, but the task now just asks `license-checker` to include the `realPath` of the modules it describes in it's output, which is ultimately the same thing but works with `yarn` too.

* [grunt/licenses] convert to use lib/packages/getInstalledPackages()

* [grunt/notice/generate] test generateNoticeText()

* [grunt/licenses] tested assertLicensesValid()

* [npm] remove npm dev dep

* [tasks/lib/packages] do not include kibana in "installed packages"

* [tasks/lib/notice] join all notices with the same separator
2017-05-24 08:34:55 -07:00
Spencer d3ba428796 [ftr] make room for more projects (#11848)
Squashed commit of the following:

commit 659ea986fdeb9a5ff2ca1fa5360cccb01c671ede
Author: spalger <spalger@users.noreply.github.com>
Date:   Wed May 17 09:19:22 2017 -0700

    [test/*/fixtures] rename es_archives to es_archiver

commit d3667457c78e88e2d6974f3c38dd0fe61b846b91
Author: spalger <spalger@users.noreply.github.com>
Date:   Wed May 17 08:22:03 2017 -0700

    [ftr/config] fix default directory value functions

commit 9a6a2cc0b295e2281e83da04fcea40e9d6f00781
Author: spalger <spalger@users.noreply.github.com>
Date:   Wed May 17 07:30:52 2017 -0700

    fix import paths

commit fcb65a877d54b5b1d36b8c81f1264b36845e826e
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 21:39:57 2017 -0700

    [grunt/ftr] use named exports for configs

commit 7d7f38c7615cdbf8eb0119efc0f2a5188bca8792
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 18:50:04 2017 -0700

    [test] remove unnecessary directory definitions

commit 0c28984669768482f0a2ee7fc2800d5bcaf49025
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 18:46:29 2017 -0700

    [ftr/config] make default directories relative to config path

commit cd2f33612624cacffec138797f3fc0f4ecb46cca
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 18:32:12 2017 -0700

    [test/common] put server config into common

commit 7851ed811a236576c63bd20850b3ef2099be2a4e
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 18:18:20 2017 -0700

    [grunt] "deprecate" test:api:runner task

commit b2ac4c26593a1947c94f0168191fe8123ff74122
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 18:15:41 2017 -0700

    [ftr] accept the project name as an unnamed arg

commit 47e292894fc70c0a04883403c50c5d2ae0738d76
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 17:56:34 2017 -0700

    [ftr/grunt] convert ftr task to multi-task with config

commit 83375855f88e5e7b3fa8b6a1c5d24a9f54766ce5
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 17:54:54 2017 -0700

    [test/functional] move fixtures into test/functional project

commit 05994e9c92cf134c58f831c285b3b522a801acbc
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 17:02:51 2017 -0700

    [src/test_utils] merge with test/utils directory

commit c77ee5ed36b8b7eadf876cb6d9482a49dfc92b66
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 16:53:00 2017 -0700

    [test/api_integration] migrate api tests to functional test runner

commit ca328c34648dd7e07f70e1844e07cfc392e41103
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 16:50:12 2017 -0700

    [esArchiver] refresh modified indices after load

commit cde74a540850fd97578f441d6dccaefd1444e656
Author: spalger <spalger@users.noreply.github.com>
Date:   Tue May 16 16:46:48 2017 -0700

    [test/functional] move shared services into test/common

commit 0ea2646aea5817f6d1595e6ae0d356c426f138f0
Author: spalger <spalger@users.noreply.github.com>
Date:   Mon May 15 22:51:23 2017 -0700

    [scripts/mocha] run _mocha script when debugging

commit 1cc80600d90e318d4738920aa557d124075a4570
Author: spalger <spalger@users.noreply.github.com>
Date:   Mon May 15 22:48:12 2017 -0700

    [ftr/config] allow child config files to have no testFiles config

commit 2bb6c957443b18cebc419baa6f9db301c8f4dc4f
Author: spalger <spalger@users.noreply.github.com>
Date:   Mon May 15 21:52:26 2017 -0700

    [ftr] move screenshots into test/functional
2017-05-17 18:53:45 -07:00
CJ Cenizal 2513616c31 Update UI Framework build task to not compile source maps. (#11868) 2017-05-17 11:23:32 -07:00
Spencer 31fed421ff Implement/timestamps in log (#11781)
* [utils/streams] add createMapStream()

* [utils/toolingLog] make tooling log operate in object mode

* [ci/ftr] log the time before each log message
2017-05-15 14:28:14 -07:00
Chris Roberson d23fa3689b Remove legacy npm script that is no longer used or supported (#11796) 2017-05-15 14:56:23 -04:00
Brandon Kobel 46f1bcfd76 Adding WTFPL OR ISC to the list of valid licenses (#11768) 2017-05-12 16:23:27 -04:00
Spencer 2e7fed87fd [ftr] take screenshots on failure (#11709)
* [tests/functional] move screenshots to their own service

* [ftr] add testFailure and testHookFailure lifecycle hooks

* [tests/functional/screenshots] cleanup old screenshots at startup

* [test/functional/screenshots] take screenshots when tests fail

* [cli_plugin/install] fix test

* [ui/scanner] fix test
2017-05-11 12:07:23 -07:00
Colm O'Shea 68ada6b366 Rebuild modulePath correctly if on Windows (#11439)
The module paths are split by ':' and with a Windows filepath (and the 'C:/' prefix),
the split returns the drive letter and directory path separately.
This causes the modulePath to be set incorrectly into the packagePaths object
and the subsequent call for the licenses by key returns undefined on Windows only.

This commit recombines the drive and directory paths and sets the correct key into packagePaths.
2017-05-10 06:25:23 -05:00
Spencer 36ecf130ad [babel] tweak babel options for performance and debugging (#11535)
* [babel] tweak babel options for performance and debugging

* [babel] remove babel-plugin-transform-export-extensions

* [npm] lock new deps to the patch version

* [npm] remove unused deps
2017-05-08 15:29:28 -07:00
Shaunak Kashyap 24b9b229af Testbed for aiding development in Kibana (#11571)
* Initial code for testbed

* Fixing the routing

* Updating README

* Removing unnecessary line

* Fixing port in README

* Remove testbed source code from build
2017-05-08 09:20:27 -07:00
spalger f15477a82c [tasks/ftr] downgrade log level to debug 2017-05-05 15:47:39 -07:00
Spencer e6d3beaee3 [ftr] still trying to debug random remote start failures (#11611) 2017-05-04 23:39:05 -07:00
Spencer f76bef46c0 [ftr] remove digdug, use chromedriver directly (#11558)
* [ftr] remove digdug, use chromedriver directly

why?
 - digdug is meant to be used by intern, and expects a certain lifecycle that the FTR has tried and continuously fails to mimic
 - rather than continue trying to force digdug into the stack, just spawn chromedriver ourselves. We know how to handle it
 - cleans up verbose remote logging while we're in there, since selenium-standalone-server went with digdug, which was previously doing the verbose logging
 - deprecate config.servers.webdriver
 - add config.chromedriver.url
 - if url at config.chromedriver.url points to a server that responds to http requests use it as the chromedriver instance, enables running chrome in a VM or container
 - if pings to config.chromedriver.url fail a local chromedriver is started

* address review requests
2017-05-04 13:27:18 -07:00
CJ Cenizal 1f76e7508e [UI Framework] Add uiFramework:build task. (#11402)
* Add uiFramework:build task.
2017-04-27 11:41:36 -07:00
archana 476031b4ea Run tests against an actual Kibana build (#11237)
* build before running selenium

* change directory into built snapshot

* WIP: what is in the build dir

* WIP: skip unit tests

* run selenium on build

* [functional tests on build] Derive version

* [functional tests on build] Missing folder name prefix

* WIP: debug on ubuntu VM

* WIP: double kibana stabilize timeout

* WIP: remove ubuntu VM debug change

* WIP: add logs for docParams

* WIP: add logs for es

* build release version without -SNAPSHOT-

* [functional test release] Cleanup
2017-04-21 11:08:36 -05:00
Jonathan Budzenski 3a6e68a601 Revert update pleaserun (#11304)
* Revert "Update pleaserun.js to use `--log-directory` with 0.0.28 (#11286)"

This reverts commit e96a8d8273.

* Revert "[jenkins] update call to pleaserun with --log-path (#11275)"

This reverts commit be609d9505.
2017-04-18 10:21:05 -05:00
archana e96a8d8273 Update pleaserun.js to use --log-directory with 0.0.28 (#11286) 2017-04-17 15:19:20 -05:00
archana be609d9505 [jenkins] update call to pleaserun with --log-path (#11275)
* [jenkins] update pleaserun with --log-path for 0.0.28

* [jenkins] update contributing guide pleaserun version
2017-04-17 11:08:06 -05:00
Spencer ea838ec900 [functional_test_runner] fix grunt failure logging (#11172) 2017-04-12 07:52:26 -07:00
Spencer 90434765c0 [functionalTestRunner] replace intern (#10910)
* [functional_test_runner] replace functional testing tools with custom/pluggable solution

* [functional_test_runner] Convert unit tests to commonjs format

* [functional_test_runner] Fix dashboard test in wrong mode

* [functional_test_runner] Add dashboardLandingPage test subject

* [functional_test_runner] Get Visualize page object

* [functional_test_runner] Fix outdated references

* [functional_test_runner] Fix more outdated refs

* [functional_test_runner] Remove duplicate tests

* [functional_test_runner] Improve test readability

* [functional_test_runner] 😞 So many duplicate methods

* [functional_test_runner] Move mgmt `before` outside toplevel describe

* [functional_test_runner] Settings page obj missing methods

* [functional_test_runner] Add improvements from @gammon

* [functional_test_runner] Fix return statements in async funcs

* [functional_test_runner] Move before() to correct scope

* [functional_test_runner] Add after() hooks to remove index patterns

* [functional_test_runner] Attempt to fix vertical bar chart tests

* [functional_test_runner] Clean up

* [functional_test_runner] Reinstate unit tests

* [functional_test_runner] Set default loglevel back to info

* [functional_test_runner] Replace `context`s with `describe`s

* [functional_test_runner] Better error handling

* [functional_test_runner] Add in new Tile Map tests

* Incorporate changes from master

* [functional_test_runner] validate that every test file has a single top-level suite

* Update contributing doc with link to full doc

* [docs] Spelling and grammar fixes

* docs: writing and running functional tests

* [docs] Move plugin doc to plugin area

* [docs] Housekeeping. Doc in wrong place

* [docs] Remove dup doc file

* [grunt] Only run mocha_setup when running tests, not every grunt task
2017-04-11 17:01:06 -05:00
Stacey Gammon 8eb17b330e Refactor table sort properties (#11073)
* Refactor sorting capabilities

* clean up and comments

* Move to ui_framework/services

- add tests
- address code review feedback
- Include new folders in build output.

* Rename to sortableProperties

Require initial sorted property name.

* fix a refactor miss
2017-04-11 12:47:33 -04:00
Kim Joar Bekkelund 90be7e882f Move Jest test setup to root (#10963) 2017-04-05 21:24:01 -04:00
CJ Cenizal b604911720 [UI Framework] Create Button React components in UI Framework. (#10646)
* Create KuiButton, KuiLinkButton, KuiSubmitButton, and KuiButtonIcon React components in UI Framework.
* Add Jest test coverage for UI Framework, generate report in ui_framework/jest/report.
* Add UI Framework to linting task.
* Update UI Framework README with instructions on creating and testing React components.
* Add both React and HTML examples.
* Add UI Framework Jest tests to npm test script. Create separate scripts for watching and generating coverage reports.
* Fix appearance of kuiButtons with icons throughout Kibana, by adding a flexbox wrapper.
* Improve accessibility of kuiButtonIcon.
* Remove disabled attribute from KuiLinkButton.
* Remove kuiButton-isDisabled class from KuiButton and KuiSubmitButton.
2017-03-29 13:25:43 -07:00
Spencer e67790037a [esArchiver] combine elasticDump and ScenarioManager (#10359)
* As a part of bringing functional testing to plugins, esArchiver gives these plugins a way to capture and reload es indexes without needing to write a bunch of custom code. It works similarly to the elasticDump and ScenarioManager tools that it replaces.

Differences:
  - Streaming implementation allows for much larger archives
  - CLI for creating and using archives
  - Configurable archive location
  - Stores the data in gzipped files (better for source control, searching, large archives)
  - Automatically identifies and upgrades Kibana config documents

Methods:
  - `#load(name)`: import an archive
  - `#loadIfNeeded(name)`: import an archive, but skip the documents what belong to any existing index
  - `#unload(name)`: delete the indexes stored in an archive

CLI operations:
  - `./bin/es_archiver save <name> [index patterns...]`: save the mapping and documents in one or more indexes that match the wild-card patterns into an the `<name>` archive
  - `./bin/es_archiver load <name>`: load the mapping and documents from the `<name>` archive

* [functional_tests/common/nagivate] check for statusPage

* [es_archiver] move bins into new scripts dir

* [functional_tests/apps/context] use esArchiver

* [esArchiver] general improvements after showing to a few folks

 - remove auto-upgrading config doc logic (until we have better access to kibana version info)
 - export unload command
 - remove preemptive checks in favor of reacting to errors
 - use type "doc" vs "hit" for doc records (consistency)
 - wrote a bunch of pending tests to think though and plan

* [esArchiver] make log a stream that writes to itself

* [esArchiver] fill in stats and archive format tests

* [esArchiver] splitup action logic

* [esArchiver/cli] fix cli --help output and comment

* [esArchiver] remove type-based param coercion

* [esArchiver/log] use strings for log levels

* [esArchvier] remove unused var

* [esArchiver/indexDocRecordsStream] add tests

* [esArchive] fill in remaining tests

* [esArchiver] fix dem tests

* [eslint] remove unused vars

* [esArchiver/loadIfNeeded] fix call to load()

* [esArchiver] remove loadDumpData helpers
2017-03-27 15:29:14 -04:00
Spencer d8d65526c6 [eslint] enable no undef (#10825)
* [codeshift] add proper ignore comments

* [codeshift] apply require-to-import transform

* [codeshift/fixup] remove duplicate imports

* [eslint] upgrade config for react "unused" support

* [codeshift] apply remove-unused-imports transform

* [codeshift] apply remove-unused-basic-requires transform

* [codeshift] apply remove-unused-function-arguments transform

* [lintroller] fix argument list spacing

* [codeshift] apply remove-unused-basic-bars transform

* [codeshift/fixup] fixup unused basic var removals

* manually apply remove-unused-assignments transform

* [codeshift] reapply remove-unused-imports transform

* [codeshift] reapply remove-unused-function-arguments transform

* [eslint] autofix param spacing

* manually fix remaining no-undef errors

* use more descriptive file ignore pattern

* add eslint-plugin-react peerDependency

* replace values that looked unused in tests

* remove // kibana-jscodeshift-no-babel comment

* remove import statements from code required by api tests

* Remove '// kibana-jscodeshift-ignore' comments

* address review feedback

* remove remnant of removed if condition
2017-03-22 07:08:23 -07:00
Martin Hickey 3aa5938daa Kibana Globalization - Phase 2 (#8766)
* Integrate angular-translate globalization framework with i18n engine
* Provide template for enabling translations in an AngularJS view by translating a view
* Verification tool for translation keys used in angular-translate
* Documentation
2017-03-20 14:09:06 -04:00
Chris Cowan a38ae49884 Moving front-end code out of devDependencies (#10670)
* Moving front-end code out of devDependencies

* removing range specifier

* overriding ua-parser-js@0.7.12 to MIT

* upgrading react-color; upgrading react; upgrading pui-tooltip;
2017-03-03 09:13:46 -07:00
Jonathan Budzenski e1b677ac9f [build] Add notice file (#10344)
* [build] Add notice file

* [build] Include license text if available

* [build] Look for both license and notice files

* [build] Add node license to notice

* [build] Add a base notice file including info on committed dependencies

* Bump license copyright year

* [build] Kibana at top of notice
2017-02-16 11:41:09 -05:00
Richard Hoffman 8b4c052889 babel 6 upgrade (#9702)
* [npm] upgrade babel

The upgrade to babel 6 requires an upgrade to all of the associated modules, which meant that a few other things changed at the same time. The most notable is the way that we handle our babel-options, which is now done with an npm module and includes using the babel-loader's "presets" query string param.

This meant changes to the babel_options.js module and extending it to help setting up the "babel-register" module, which was previously copy-pasted in several places.

* [mtodules] upgrade to support babel6 module semantics

* [eslint] fix lint errors

* [babel] ignoer massive fixture files

* [cli/errors] use Object.setPrototypeOf since subclassing Error is broken

* [babel] Upgrading core babel libraries

[babel] Use WIP babel-6-fix branch of babel-preset-kibana

* Fix broken test

* [babel] Reverse unnecessary module.exports changes

* Fix notifier

* Use babel presets and plugins directly

* [babel/options] resolve preset/plugins paths for better plugin compatibility

* [babel/options] use babel-preset-env for correct node settings

* [babel] cache babel compilation in webpack like we thought we were
2017-02-09 14:48:55 -07:00
Chris Earle 8029e048b2 Allow build configuration to run on Windows machines (#9951) 2017-01-18 23:17:57 -05:00
CJ Cenizal fa1166b11a Fix IE11 bugs with Table and ToolBar. (#9928)
- Make table-layout use the default, instead of fixed.
- Fix flexbox bug with ToolBar.
- Update ui_framework task to serve on port 8020.
- Add babel-core/polyfill to UI Framework docs site.
2017-01-18 14:04:35 -08:00
Jim Unger ec58465803 fixes windows path un ui-framework startup (#9934) 2017-01-18 15:45:20 -06:00
Tyler Smalley e6669ee19d Remove libsass as a dependency (#9803)
Remove libsass as a dependency

libsass is platform specific, therefore we can not ship it as a dependency. Instead, we will commit the compiled CSS for the UI Framework to the repository. This is updated when running `npm run uiFramework:start` which also starts the docs site.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2017-01-09 20:27:54 -08:00
Tyler Smalley 024c81697e Tribe node support (#9132)
* Adds support for Tribe nodes

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

* @spalger review feedback

* Close create{Admin,Data}Cluster handles closing the connection
* Remove callAsKibanaUser argument from tests
* ClientLogger uses ES6 properties for tags and logQueries
* Ensure were destructuring cluster to access callAsKibanaUser

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

* [tribe] Use class syntax on new data sources

* [tribe] Use includes instead of indexOf in call_client

* [tribe] DocRequest --> AbstractDocRequest

* [tribe] Fix AbstractDoc test rename

* Removes factory objects and adds addClientPlugin to Cluster (#9467)

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

* Resolves eslint error

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

* Use properties on the instance instead of class properties

Class properties are still in the very eary stages and not widely supported.

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

* [tribe] Remove disabled dev tools app, do not bundle console when tribe is enabled

* [tribe] Use destructuring, don't reassign args

* [tribe] Use class syntax for client request wrapper

* [tribe] callAsKibanaUser -> callWithInternalUser

* [tribe] Remove clients from module context, service is a singleton

* [tribe] Use instance property shorthand for admin and data DocRequests

* Removes questions

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

* Fixes typo in tests

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

* Correctly names test case

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

* Revert "Use properties on the instance instead of class properties"

This reverts commit ebd06ae591.

* Adds tests for create_{admin,data}_cluster

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

* Persists clusters to server

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

* [tribe] Move cluster config requests to distinct getters

* Adds getClient and removes addClientPlugin

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

* Expose createClient, consolidate config parsing

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

* Removes createClients from Cluster

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

* Prevent status change from red to red

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

* Updates esvm:tribe ports to be consistant with dev

9200 is admin
9201:9202 are both data clusters
9203 is a tribe node connecting to both data clusters

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

* [tribe] Get ssl.ca from serverConfig

* [tribe/esvm] Remove plugin configuration

* Removes unused variable

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

* [tribe] Named exports for creating clusters

* [tribe] Named exports for client logger, cluster

* [tribe] Named exports for health check

* Remove invalid comment

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

* [tribe] Comment explaining difference between admin and data browser clients

* Rename ES checks to be consistant with functionality

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

* Organize NOOP functions

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

* Removing function comments

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

* Explicitly check for presence of url in tribe

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2016-12-30 09:46:55 -06:00
Spencer 654a3be6f0 [grunt/eslint] fix precommit linting (#9510)
* [grunt/eslint] fix precommit linting

 - remove use of `minimatch.makeRe()` because it does not support the entire glob syntax
 - log a warning whenever a js file is excluded by the `lintStagedFiles` task
 - eslint globs are relative to the project root, ensure that we check against relative version

* [grunt/eslint] only log warning wtr grunt paths
2016-12-16 12:29:35 -07:00
Tyler Smalley 4b6d6275a4 Correctly reference the default bucket for the release task (#9493)
The configuration is nested under options instead of config in the new aws_s3 library.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2016-12-14 18:03:02 -08:00
Spencer db60725a02 [eslint] enable object-curly-spacing and no-global-assign (#9486)
* [eslint] update eslint config to 0.3.0

* [eslint] autofix

* [fixtures/hits] reformat to comply with max-len lint rule
2016-12-14 13:29:32 -07:00
Peter Pisljar fa6d074bf4 fixing linting issue which blocks CI (#9480) 2016-12-14 10:19:53 +01:00
Spencer e488a16e6f [eslint] reenable no-extra-semi and quotes rules (#9473)
* [eslint] re-enable no-extra-semi and quotes rules

* [eslint] update to version 0.2.2 of eslint config

* [eslint] autofix
2016-12-13 18:17:47 -07:00
Tyler Smalley 617f21829b Use spec reporter for Mocha tests (#9470)
Provides context for exceptions and node warnings (ex: UnhandledPromiseRejectionWarning)

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2016-12-13 17:05:05 -08:00
Martin Hickey 7028a88efd Kibana Globalization - Phase 1 (#7545)
* Add low level i18n plugin

Manages languages that are available and is responsible for loading translated
content at the granularity of a plugin.

To be done:
 - APIs for store and retrieval

* Use Kibana install as root for the translation store directory

Setting the path for storing the bundled language translation files to
<KIBANA_INSTALL>/data/store_translations/<PLUGIN_NAME>

* Updated i18n core plugin APIs to be asynchronous

To be done:
 - Better error handling in APIs
 - Fix threading issue with storePluginLanguageTranslations API

* Fix thread synchroization issue in storePluginLanguageTranslations

* Update error handling in i18n core plugin

* Change to use NodeJS mkdirp function for creating directories recursively

Updates with review comments from @srl295. Changed export syntax to show the
exported functions at end of file.

* Add REST API for getting translations of a language for a plugin

To be done:
 - Add algorithm to decide on the language for a plugin by comparing the accept languages
from the REST call and the plugin supported languages
 - Add REST API tests

* Add algorithm for determining plugin language when retrieving translations

Client would pass languages used in the 'accept-language' header. These
languages would then be compared against the plugin supported languages
and best compared language would be selected.

To be done:
 - Add REST API tests

* Add API to return all registered plugin language translations

* Add HAPI API to get all plugins translation files

* Update register translations API to be independent of plugin name and language

The register API is updated to be independent of plugin name and language. The API will now
traverse the path given and create language bundles as per language files it traverses.
The translations files structure has also been simplified to be just key/value objects.

To be done:
 - Add hapi API to get translations
 - Extend the API tests to test responses

* Update API test

* Add eslint fix for API test

* Update with review comments

From review https://github.com/elastic/kibana/pull/7545#issuecomment-231147435
following comments updated:
- README, .gitignore, and .eslintrc are not needed in a core plugin
- package.json only needs name and version
- unit tests need to go in a tests directory otherwise they won't get picked up
by the grunt tasks. Also our convention is to name the test file with the same
name as the module it's testing (so i18n_tests.js should just be i18n.js)
- For consistency with the rest of the code base, rename the data directory to fixtures.
- Prefer const (or let if necessary). Don't use var.
- Use ES6 imports/exports rather than commonjs style
- Only export the i18n module's public API. For instance, I don't think getPluginTranslationDetails is used outside of the i18n module, so it shouldn't be exposed publicly. If you want to expose it for testing purposes, I would recommend creating an i18n directory with an index.js file that exports the module's public API, and a separate i18n.js file with the "private" API. index.js will be for public use, i18n.js will be for private internal use.

* Update after review comments

From review (https://github.com/elastic/kibana/pull/7545#issuecomment-231884490):
- i18n module API should return promises for async operations instead of using
callbacks
- All filesystem access should be async
- Unit tests need to be updated based on new proposed plugin structure
(single language file, not split by view)

From design (https://github.com/elastic/kibana/issues/6515#issuecomment-231400097):
- Removed API as will consider in later phase

TODO:
- Make write function async

* Update after review comments

Updated write function to be asynchronous

* Update registerTranslations API to take absolute translation file as argument

The API originally took the directory as the argument but following reviews it
was decided to change to absolute file because it will be less brittle
since it is more explicit.

* Translate the Kibana welcome message

Translates the start-up message (“Kibana is loading ...”)in the Jade template.

To be done:
 - Means to register the core plugin translations. They are currently added
in the fixtures directory as static files. Need to be generated on the fly.

* Add build task to generate core plugin translations

Task which calls registerTranslations API and then a task which copies the
regsitered translations to <kibana_root>/build/kibana

* Add hook to optimize module to add registration during dev startup

Registration of the core plugin translations during development start of
Kibana server. The translations include the welcome message and server error
startup message.

* Handle scenario when the user preferred language header is not passed

The UI when loading asks i18n plugin which language translation to use
depending on the user preferred language header 'accept-language'.
This commit is to handle scenario where header is not passed. The algorithm
then chooses the default language.

* Replace registering of translations at plugin install time to the plugin init phase

This change follows review comments in:
https://github.com/elastic/kibana/issues/6515#issuecomment-236237218

* Update after review comments

Comments:
- https://github.com/elastic/kibana/pull/7545#discussion-diff-72890673
- https://github.com/elastic/kibana/pull/7545#discussion-diff-72894762

* Update after plugin folder layout changes in Kibana

This require to use <kibana_root>/data for registered translations
and i18n plugin moved to core_plugins from plugins.

Refer to PR for more details:
https://github.com/elastic/kibana/pull/7562

* Update translation registration to file path rather than bundling

After review discussions it was agreed to just register the absolute paths
to translation files rather than bundling each file into one central file
at registration.

* Update review comments

This commit contains the following review comments:
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74661282
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74661392
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74662271
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74663235
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74669201
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74669269
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74669419
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74669628
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74799382

* Update review comments

The following review comments are included in the commit:
- https://github.com/elastic/kibana/pull/7545#discussion_r74663515
- https://github.com/elastic/kibana/pull/7545#discussion_r74666995
- https://github.com/elastic/kibana/pull/7545#discussion_r74805552

* Expose the i18n APIs in the server object for plugin access

Plugins should call the i18n plugin APIs through the server object
and not directly from the module.

This closes he following comments:
- https://github.com/elastic/kibana/pull/7545#discussion_r74662598
- https://github.com/elastic/kibana/pull/7545#discussion_r74669327
- https://github.com/elastic/kibana/pull/7545#discussion_r74669765

* Update accept-language-parser module to 1.2.0

Module version 1.2.0 fixes issue:
https://github.com/opentable/accept-language-parser/issues/8

This commit updates review comments:
https://github.com/elastic/kibana/pull/7545#discussion-diff-75525214
https://github.com/elastic/kibana/pull/7545#issuecomment-240290461

* Add i18n default locale as a configurable item

Adds 'defaultLocale' configurable item to the i18n plugin configuration.
The default locale is used for translations if the locale specified by user
is not supported.

This commit satisfies the review comment:
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74669970

* Move UI i18n wrapper functionality into a module

This commit better structures the i18n capability so that it can be called
in UI code in a clearly defined fashion with minimum code. It also fixes
potential race conditions.

This commit updates review comments:
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74804791
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74801802
- https://github.com/elastic/kibana/pull/7545#discussion-diff-74670457

* Fill any missing translations using translations from default locale

The default language translations are loaded and are compared against the selected
language translations. The comparison can then highlight any missing translation
keys and can load the default translations keys as needed. This helps to unsure
where possible that a translation string is available in most scenarios even if not
in the locale requested.

This commit resolves review comments:
- https://github.com/elastic/kibana/pull/7545#issuecomment-239202583
- https://github.com/elastic/kibana/pull/7545#issuecomment-239203734

* Add unit tests for the i18n UI wrapper functions

* Fix issues after rebase with master

* Add translation keys verification tool

This tool helps to check that translation keys are translated. This tool can be
used for non-angular translation constructs like the Jade templates.

* Updates after review comments

Updates for review comments:
https://github.com/elastic/kibana/pull/7545#pullrequestreview-3748114

* Update after review comments

Update for review comments:
https://github.com/elastic/kibana/pull/7545#pullrequestreview-3937958

To be done:
- Update of unit tests for UI and server
- Call of verify translations

* Update unit tests after review changes

There was a number of changes to the i18n module and the ui i18n wrapper
following review comments. This commit is to update the unit tests with
respect.

* Add build task for verify translations

* Update the kibana i18n IDs to be prefixed with kibana

* Update verify translations to test registered translations

It was testing the static translation files. It is now updated to
test the translations registered when Kibana server is started and
the plugins have initialized.

* Update after review comments

Updates following review comments:
https://github.com/elastic/kibana/pull/7545#pullrequestreview-5529711

* Update after review

This commit contain updates after the following review:
https://github.com/elastic/kibana/pull/7545#pullrequestreview-5707951

* Updates after review

Updates for review comments:
https://github.com/elastic/kibana/pull/7545#pullrequestreview-6656571

* Update after review

Updates for the following review comments:
https://github.com/elastic/kibana/pull/7545#pullrequestreview-6911265

* Update after review

Updates after the following review comments:
https://github.com/elastic/kibana/pull/7545#pullrequestreview-7084765

* Update unit tests to use expect throwError

* Update after rebase with master

Loading message changed following merge of commit
26c53e8a8d (diff-e25d7fee746a4f249e17f87c02fd95f8R55)
This required update to the welcome message and how it is called.

* Update following review

Updated the following review comments:
https://github.com/elastic/kibana/pull/7545#pullrequestreview-9297662

* Update the algorithm to return the locale

The algorithm to return which locale to use for translations based on the user
locale list and the regsitered locales is updated in this commit. The algorithm
previously did an exact match on all the user locales first before (by priority)
then checking for best case match. The algorithm is now modified to check each
user locale starting with the highest priority first for an exact match and then
for best case match. If no match it then moves to the next user locale with
the next highest priority. This is to follow the priority list that a user
browser is configured for where there maybe a locale translation available
but might not be the exact match with regard to the locale code and/or script.
An example of this is that the highest priority locale of the user is 'en-US'
but the locale translation available is 'en'. It is better select the 'en'
locale rather than select the next highest locale which is an exact match.

* Update after review comments

Updates after the following reviews:
https://github.com/elastic/kibana/pull/7545#pullrequestreview-9785665
https://github.com/elastic/kibana/pull/7545#pullrequestreview-9786404

* Fix after merge with master

Change in the flo and layout of ui index meant that acceptLanguages were not
being passed. This commit is an update to fix this so that the welcome
messages are loaded.

* Update after review comments

This commit is for updates after the following review:
https://github.com/elastic/kibana/pull/7545#pullrequestreview-10435175

* Fix issue when unit test run in CI as core translations are registered

When unit tests are run on a test server (like in the CI), it will start
Kibana server and register the core translations. This means that the i18n
unit tests need to be able to store the existing registration prior to
testing and replace after testing.

* [server/ui] move i18n into ui module

* [server/ui] restore renderApp() method signature

* [server/ui] unify i18n logic in UiI18n class

* [server] move translation files into "translations" dir

* Update i18n module to loaded by multiple server instances within the one process

* Update i18n module to a class

Moving the i18n module into a class so as to encapsulate the registered
translations which means there can be different and distinct instances per process.
This is to accomodate the user case where there might be multiple Kibana server
instances in a process and the localization should be at the server level.

* Identify private members in a class with underscore-prefix convention

* Remove redundant translation from core translation file

Message starting with 'Give me a moment...' is no longer part of loading
message folowing a rebase with master.

* [ui/i18n] reject translations files that do not use absolute paths

* Update config item locale to defaultLocale

* Update after review comments

- Update after following review: https://github.com/elastic/kibana/pull/7545#pullrequestreview-12775161
- Also, fix syntax mess following rebase with master of src/optimize/index.js

* Fix rebase with master error

* Add task for verifying translations in CI

* Fix lint errors
2016-12-13 17:55:48 -07:00
Spencer 4b2ac10381 Fix build with ui framework (#9463)
* [uiFramework] include sass deps in production so we can rebuild

* [build] do not copy the doc_site source into the final build

* [licenses] allow code that uses the `Unlicense`
2016-12-13 14:41:57 -07:00
Spencer 2f6654bcec [eslint] re-enable no-var and prefer-const (#9455)
* [eslint] enable no-var and autofix

* [eslint] enable prefer-const and autofix

* [eslint] fix autofix-incompatible no-var and prefer-const violations
2016-12-13 10:44:27 -07:00
Spencer 0c736724b0 Upgrade eslint (#9357)
* upgrade eslint, all related deps, and config files

* replace gruntify-eslint with basic eslint-cli wrapper

* arrow-IIFEs must be invoked outside of the parens

* move import statements before their use

* reindent to satisfy new indentation check algorithm

* place missing semicolon

* ignore copy-pasted decode geohash code

* [grunt/eslint] fix argument spacing

* [gurnt/eslint] add comment about contents of report

* [grunt/tasks] use `export default`
2016-12-12 13:44:18 -07:00
Court Ewing 9d79d8bc63 build: remove deepModules hackery (#9327)
The deepModules hacks in the build system were added to support the long
paths that resulted from npm2, but npm3 fundamentally addresses that
problem, so deepModules is no longer necessary. In practical terms, npm3
shouldn't ever cause path lengths to become so long that they trigger
path length problems on certain operating systems.
2016-12-01 19:52:37 -05:00
CJ Cenizal f0a8887f7b Update PageObjects for Visualize, Dashboard, and Discover to use data-test-subj selectors for menu items. (#9133)
* Update PageObjects for Visualize, Dashboard, and Discover to use data-test-subj selectors for menu items.

* Run checkPlugins task as part of test:ui:runner task.
2016-11-19 10:08:43 -08:00
CJ Cenizal 038a8340b8 Add checkPlugins task to check for plugins before running tests. (#8981) 2016-11-15 16:11:03 -08:00
Spencer c5ae40ca5d [server/logger] downgrade EPIPE errors to debug level (#9023)
* [server/logger] downgrade EPIPE errors to debug level

* fix variable naming
2016-11-10 19:25:19 -07:00
Jonathan Budzenski 090f74941c [license] Fix amdefine check (#8935) 2016-11-02 12:50:00 -04:00
Lee Drengenberg 8ed3b333b0 Port #8880 to master Support Cloud testing (#8915)
* Support Cloud Kibana UI testing master

* Add xpack file

* cherry-pick 9f63224e77
2016-11-01 10:44:12 -05:00
Peter Pisljar 9b5a96e034 [build] Check SHA sum of downloaded node package (#7746)
* fix #7136 - check SHA of downloaded node binaries
* skips download if --skip-node-download cli argument is present
2016-10-29 17:10:46 +02:00
spalger ea303935a1 [tests/functional] auto-rebuild assets in test:ui:server task
While working on some functional tests I had to re-run the `test:ui:server` task several times to rebuild the front-end assets. I'm not sure why that should be necessary, so this updates the server used in that specific task to auto-rebuild the assets.
2016-09-19 13:16:39 -07:00
Rashid Khan 13da673bc8 Merge branch 'master' of github.com:elastic/kibana into migrate/timelion 2016-09-02 12:47:19 -07:00
spalger 88427e9a43 add test sharding
The tests in master are currently failing regularly because our current browser tests are serious memory hogs. Investigation reveals that nearly every test is retaining all of the memory it causes to be allocated. We have made some progress to being able to diagnose the problems, but we expect that problem to take some serious work to fix. We need a short-term solution though, and this is it.

Rather than modify the bundling process, we will shard the top-level test suites by name. For now, we've created 4 shards, but adding new shards is trivial if we need to.

Sharding is accomplished by creating a murmur3 hash of the top level suite names, then bucketing based on the hash output. If a test suite resolves to shard2, but we are running shard1, we simply never pass the function to `mocha.describe()`. Rather than redefine every describe statement, we have shimmed the global `window.describe()` function to accomplish this.
2016-09-02 10:38:29 -07:00
Rashid Khan 1c47159939 Merge branch 'master' of github.com:elastic/kibana into migrate/timelion 2016-08-29 09:09:01 -07:00
Tyler Smalley ad97552c03 Upgrade to Node 6.4.0
* Updated dependencies to include graceful-fs ~4.0
* Replaced deprecated grunt-s3 package with suggested grunt-aws-s3
* Update licenses task to better support npm 3

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2016-08-25 08:40:14 -07:00
Spencer aa20d83063 Merge pull request #8036 from spalger/fix/testDevOptimizeDir
[dev] write test:dev optimize output to its own dir
2016-08-24 10:59:19 -07:00
spalger 51ea45cd37 [dev] write test:dev optimize output to its own dir
Currently, `npm start` and `npm run test:dev` use the same webpack "working directory". This allows them to share assets, which seems great, but when webpack writes it's record-keeping files to disk it can lead to difficult to debug "Property call of undefined is not a function" errors. By writing it's optimization output to a different directory we prevent those collisions so that both the test server and the dev server can be run side-by-side
2016-08-19 17:15:06 -07:00
Jonathan Budzenski 71b3f58551
[build] Sign debs with sha512 2016-08-15 10:32:22 -05:00
Rashid Khan 91dab7402f Add license override for bytes@1.0.0 2016-08-12 15:00:20 -07:00
Jonathan Budzenski 7cf64c75a5
Bump marked 2016-07-27 08:54:33 -05:00
Tyler Smalley 47ca9b875f Merge pull request #7842 from tylersmalley/jenkins-licenses
Adds license check to jenkins:unit
2016-07-26 14:14:35 -07:00
Jonathan Budzenski 717589e1b9 Merge pull request #7571 from jbudz/publish-staging
[build] Include full version in staging package prefix, set productio…
2016-07-26 10:06:21 -05:00
Tyler Smalley 8f70184f64 Adds license check to jenkins:unit
* Adds "Public domain" to list of accepted licenses to cover version mismatch of tweetnacl.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2016-07-25 16:59:04 -07:00
Court Ewing 2b842b0904 Remove rebuild task
This is a manual revert of 28aa6c9, which is not very useful with the
new build tasks, completely brittle, and a flawed idea from the start. I
regret having written it.
2016-07-22 16:40:06 -04:00
Jonathan Budzenski 9c37542179 [build] Include full version in staging package prefix, set production prefix separately 2016-07-21 21:27:42 -05:00
Court Ewing 694eda8fb7 Use x86_64 in build name instead of x64
For consistency with the other projects for the unified release process.
2016-07-20 10:37:01 -04:00
Jonathan Budzenski b053aad5df [tests] Rename apps option to appSuites so we don't override the intern.apps object 2016-07-19 17:08:01 -05:00
Jonathan Budzenski 5ef2a9715c [tests] Add intern functional suites option 2016-07-19 15:35:07 -05:00
Jonathan Budzenski e4b584256d [tests] Add ui test application filtering 2016-07-19 15:30:25 -05:00
Jonathan Budzenski 397d39d246 [tests] Pass grep option to grunt intern 2016-07-19 09:44:24 -05:00
Jonathan Budzenski 144a40b780 [build] Remove user before group 2016-07-07 15:40:18 -05:00
Jonathan Budzenski b54ef4ed00 [build] Ensure group kibana is added, stricter user creation 2016-07-07 14:28:51 -05:00
Nicolás Bevacqua 05f6a56f34 Merge pull request #7374 from bevacqua/feature/config-get
Added .get, renamed .getAll as .getRaw, added new .getAll method
2016-07-07 15:53:03 -03:00
Court Ewing ac4018871d Merge pull request #7495 from epixa/urp
Consistent build archives
2016-07-06 18:39:36 -04:00
Nicolás Bevacqua 7e191b82dd [fix] @spalger identified as NSA mole. Run server-side tests in src/ui directory. 2016-07-06 15:14:25 -03:00
Court Ewing c00e49dd06 internal: Cleanup code in _build:archives task
This just a code cleanup - there are no functional changes to this task.
2016-07-05 21:20:48 -04:00
Court Ewing 2f2742e11b Consistent build archives
We do not release zip archives for any operating system except windows,
and we do not release tar.gz archives for windows. For consistency and
clarity sake, we'll explicitly list the architecture (x86) of the
windows build as well.
2016-07-05 21:19:06 -04:00
Jonathan Budzenski 03866c1292 [build] update pleaserun path to be compatible with 0.0.22+ 2016-07-05 16:30:46 -05:00
Jonathan Budzenski 81efe3b734 [folder structure] src/plugins -> src/core_plugins 2016-07-05 14:06:43 -05:00
Jonathan Budzenski a30cae3316 [folder structure] plugins/.data -> data 2016-07-05 14:06:16 -05:00
Jonathan Budzenski 28f30f8b73 [folder structure] installedPlugins -> plugins 2016-07-05 14:05:59 -05:00
spalger c684004324 [ci] fix typo in jenkins:env task 2016-07-01 12:10:29 -07:00
spalger 5f61d48a1b [ci] compact the legacy jenkins sub-task list 2016-07-01 12:00:39 -07:00
spalger d54e0d5293 [ci] fix eslint task name 2016-07-01 11:57:06 -07:00
Spencer 46c1118e30 Merge pull request #7604 from spalger/implement/versionedCiScript
[ci] split unit and selenium tasks into separate jenkins scripts
2016-07-01 11:51:46 -07:00
spalger fd699cb0a3 [ci] replace original jenkins task for bwc 2016-07-01 11:38:30 -07:00
spalger 7df6040536 [ci] split unit and selenium tasks into separate jenkins scripts 2016-07-01 11:31:02 -07:00
Jonathan Budzenski f781c80358 [build] Add package log path 2016-06-30 11:12:19 -05:00
CJ Cenizal 9a242cf8f5 Merge pull request #7529 from cjcenizal/7523/visual-regression-visualize
Create visual_regression test suite.
2016-06-22 07:22:56 -07:00
CJ Cenizal 37f82f146f Create visual_regression test suite.
- Add test:visualRegression npm script.
- Split up test:visualRegression grunt task into takeScreenshots and buildGallery subtasks.
- Add intern_visual_regression.js test file.
- Rename api_itern.js -> intern_api.js for consistency.
- Refactor delayed exports logic for readability.
- Refactor common.js page object to use ES2015 Class.
2016-06-21 20:50:55 -07:00
CJ Cenizal 6d6ab4ab5e Log dependency path info in licenses grunt task.
- Now you'll see a path of the parent dependencies when a dependency fails to licenses task, so you can identify the offending root dependency.
- ES2015ify the licenses task.
2016-06-21 18:55:54 -07:00
CJ Cenizal 5caa6c0626 Merge pull request #7515 from cjcenizal/grunt/visual-regression-subtask
Move visualRegression subtask from npm scripts to grunt task.
2016-06-21 12:03:24 -07:00
CJ Cenizal ca9b085ef0 Remove test:visualRegression from test npm script.
- Add it to end of test grunt task.
2016-06-21 11:23:40 -07:00
Jonathan Budzenski 62f258b83c Merge pull request #7457 from jbudz/issues/7157
[build] Add data directory for plugins
2016-06-21 07:45:25 -05:00
Matt Bargar 15a4fa1cdd Merge pull request #7372 from elastic/feature/ingest
Add Data - CSV
2016-06-17 16:23:46 -04:00
Lee Drengenberg e2ff6bb7a5 Merge pull request #7442 from LeeDr/runTestsOnChrome
Re-implement most of PR #7024 switch to Chrome browser
2016-06-17 15:06:40 -05:00
Court Ewing 1e2c953f16 Release task now always publishes to staging
Production builds should never be published directly from a local
machine. Instead, the release command will now publish to a
commit-specific staging URL, so you use it to publish a release
candidate, and then when those builds have been verified, you need to
copy the RC builds from on the staging location on s3 to the production
folder.
2016-06-17 14:26:08 -04:00
Court Ewing c550bbcc95 Build artifact names for unified release process
These changes are necessary for Kibana to be compatible with Elastic's
unified release process from 5.0 onward. The way artifacts get created
has not changed, but the naming conventions have.
2016-06-16 16:47:02 -04:00
LeeDr ae56c13583 merge master 2016-06-16 13:54:01 -05:00
Matthew Bargar b853d89139 Merge branch 'master' into feature/ingest 2016-06-16 14:23:12 -04:00
Matthew Bargar 0065fbaa9b Merge branch 'master' into feature/ingest
Resolved conflicts, still need to move around some add data files.
2016-06-16 12:57:29 -04:00
Jonathan Budzenski 5b19534314 [build] Add data directory that plugins can write to. Closes #7157 2016-06-16 10:14:27 -05:00
Court Ewing f6196cf662 Target directory created from config value
The target directory was being created based on a hardcoded string
rather from the target directory configuration value.
2016-06-16 10:36:06 -04:00
Court Ewing 3d546336b1 Build task for creating os packages creates target
The target directory is created by the archives task, but it is not
created by the ospackages task, so if you do not have a target
directory and try to skip archives, the build will fail.
2016-06-16 10:18:40 -04:00
Court Ewing 6b98215833 Merge pull request #7477 from epixa/SNAPSHOT
Uppercase -SNAPSHOT on snapshot builds
2016-06-16 08:02:15 -04:00
Court Ewing 7eaa1915f4 Uppercase -SNAPSHOT on snapshot builds
This is consistent with other Elastic projects.
2016-06-15 18:33:04 -04:00
LeeDr bfcb875c77 Merge master 2016-06-15 11:29:23 -05:00
Jonathan Budzenski b32949dfcd Merge pull request #7387 from jbudz/issues/6728
[packages] Set publish prefix kibana/major_version.x
2016-06-15 09:56:00 -05:00
Jonathan Budzenski 314e095441 Merge pull request #7422 from jbudz/package-dirs
[build] Cleanup dirs on uninstall
2016-06-15 09:24:02 -05:00
Jonathan Budzenski bd3cca9efa Merge pull request #7431 from jbudz/issues/7430
[build] Set init description to kibana
2016-06-15 09:22:32 -05:00
Jonathan Budzenski 83681d980d [build] Include babelcache so it can be chowned to kibana user 2016-06-15 07:44:12 -05:00
Jonathan Budzenski 29e26de7e2 [build] Cleanup dirs on uninstall 2016-06-14 15:46:31 -05:00
Court Ewing dbfee59b66 Merge pull request #7317 from epixa/newbuild
Apply -snapshot suffix during build task
2016-06-14 16:25:39 -04:00
CJ Cenizal 9e353fd451 Add visual regression screenshot gallery.
- Add 'test:visualRegression' grunt task.
- Run 'test:visualRegression' as part of npm script 'test'.
- Add 'clean:screenshots task'.
- Clean screenshots/session when funtional tests are run.
2016-06-14 08:33:45 -07:00
LeeDr 01255ee4d4 Re-implement most of PR #7024 switch to Chrome browser 2016-06-13 16:03:40 -05:00
Jonathan Budzenski 41004fda0f [docs] Update package version 2016-06-13 11:29:06 -05:00
Jonathan Budzenski 9d809f3aea [packages] Set publish prefix kibana/major_version.x 2016-06-13 08:53:55 -05:00
Court Ewing 834f56392e Apply -snapshot suffix during build task
The default behavior of the build task is to now apply the -snapshot
suffix dynamically rather than us manually hardcoding and managing it
within the source code itself. The `--release` flag will drop the
-snapshot suffix on a build, which should be used for any release
candidate.

The default behavior of the build task has also changed to create
rpm/deb packages as well. Since we've only confirmed that this works on
linux, you can override that behavior by passing `skip-os-packages`.

If you do not want to create any zip or tar.gz archives, you can pass
`--skip-archives`.
2016-06-11 15:57:30 -04:00
Matthew Bargar a0915145dd Merge branch 'master' into feature/ingest 2016-06-10 16:27:42 -04:00
Jonathan Budzenski b956a0b938 [build] Set init description to kibana. Closes #7430 2016-06-10 14:53:48 -05:00
Jonathan Budzenski e1cb593ee6 [build] Add name and description to init scripts 2016-06-07 14:48:57 -05:00
Jonathan Budzenski 9213e61608 [build] template chown optimize dir 2016-05-27 10:34:47 -05:00
Jonathan Budzenski 6189c19de8 [build] Style cleanup 2016-05-27 10:34:47 -05:00
Jonathan Budzenski db5ac1e72f [build] Cleanup packages task 2016-05-27 10:34:47 -05:00
Jonathan Budzenski 8f0be48768 [build] consolidate package config 2016-05-27 10:34:47 -05:00
Jonathan Budzenski 6d293afbfb [build] move install to /usr/share, config to /etc/kibana 2016-05-27 10:34:47 -05:00
Jonathan Budzenski 4336f2bc8d [build] Add comment in postrm explaining empty cases 2016-05-27 10:34:25 -05:00
Jonathan Budzenski bab73b8971 [build] Cleanup postrm 2016-05-27 10:34:25 -05:00
Jonathan Budzenski f9033a1c6e [build] Fail on errors 2016-05-27 10:34:25 -05:00
Jonathan Budzenski 6c6e4d31ff [build] Attempt to stop service pre-install 2016-05-27 10:34:25 -05:00
Jonathan Budzenski 83c580298f [build] Try service kibana stop before init script 2016-05-27 10:34:25 -05:00
Jonathan Budzenski 07618c3964 [build] Recursive chown optimize folder 2016-05-27 10:34:25 -05:00
Jonathan Budzenski d9a84b2f03 [build] Run as group kibana 2016-05-27 10:34:25 -05:00
Jonathan Budzenski 53871671e2 [build] template user in install/remove scripts 2016-05-27 10:34:25 -05:00
Jonathan Budzenski 08c9897986 [build] Commit install/remove scripts instead of generating, stop service before removing 2016-05-27 10:34:25 -05:00
Matthew Bargar 02f24b176b Merge branch 'master' into feature/ingest 2016-05-24 17:22:14 -04:00
Jonathan Budzenski 032de94fe2 [build] Check for release files after build task 2016-05-19 13:17:05 -05:00
Jonathan Budzenski d0c835d172 [build] Release packages to s3 2016-05-19 10:27:48 -05:00
Court Ewing 173a217a9d Merge pull request #6676 from jbudz/build-packages
[grunt] Publish packages
2016-05-19 11:10:13 -04:00
Court Ewing 28aa6c9b9c [grunt] Task to rebuild archives with new version
This is useful for when a pre-release build is completely tested and
could be released as-is if it weren't for the pre-release suffix and
commit hash. It will extract the archives in the target, replace the
version, sha, and build numbers with the current working copy's, and
then recreate the archives and shas.
2016-05-17 15:30:25 -04:00
Matthew Bargar 05b198a819 Merge branch 'feature/ingest' into ingest/bulkAPI 2016-05-10 18:27:51 -04:00
Lee Drengenberg b19cb6dbb3 Merge pull request #7141 from LeeDr/fix-build-windows-cygwin
Re-applied PR 6267 to master to fix Windows/cygwin build
Credit for this work goes to @repocho.  Thanks for getting Windows builds working!
2016-05-05 11:08:01 -05:00
LeeDr 203c7adadc Re-applied PR 6267 to master to fix Windows/cygwin build 2016-05-05 10:35:07 -05:00
Rashid Khan fb8b2a45cc Merge branch 'master' of github.com:elastic/kibana into fix/licenses 2016-05-02 09:56:05 -07:00
Rashid Khan 412b711a19 Add the license check back 2016-05-02 09:55:55 -07:00
Matthew Bargar 81d48659cc [API] Add Highland's nil to mocha's list of globals 2016-04-29 16:47:29 -04:00
Tyler Smalley 5ae32d1930 Revert "Limit memory overhead" 2016-04-28 15:13:41 -07:00
Spencer b5e61dcbef Merge pull request #7026 from spalger/fix/collectFilesToCommit
[grunt/collectFilesToCommit] fix the broken "pathsToIgnore" filter
2016-04-28 13:06:57 -05:00
Jonathan Budzenski f3cd91a0d0 [build] Keep process env variables, re-add done 2016-04-27 17:23:13 -05:00
Tyler Smalley 0865c55e7d Limits memory usage
V8 will not trigger a full mark-sweep & mark-compact until there is memory pressure for the max-old-space-size, which is 1.6GB on a 64bit system. This means that Kibana will, at times, consume over 1.6GB of RSS memory.

Bypassing this can be done by starting with `--dev` or explicitally setting `max-old-space-size`. For example: `NODE_OPTIONS="--max-old-space-size=1024" ./bin/kibana`

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2016-04-26 13:44:42 -07:00
Jonathan Budzenski 86269bca6d [build] Pass env variables to rpm-s3 2016-04-22 15:12:29 -05:00
Jonathan Budzenski 51e8633a4d [build] Move signing config to a file 2016-04-22 15:02:53 -05:00
spalger 45087dad0f [grunt/collectFilesToCommit] fix the broken "pathsToIgnore" filter
In 180aacd470 a "pathsToIngore" filter was introduced that didn't work properly and caused all paths to be ignored. This behavior was likely intended to prevent snake_case filename checking on files in the webpackShims directory but that is being properly handled by [check_added_filename](8f9ec7d932/tasks/check_added_filenames.js (L11)).
2016-04-22 10:39:34 -05:00
LeeDr 4002140a9c Add selenium-server-standalone jar md5. 2016-04-06 08:46:17 -05:00
LeeDr 431fe52cec Update downloadSelenium to match version in intern.js. 2016-04-06 07:36:06 -05:00
Spencer 3ec3006d38 Merge branch 'master' into feature/console 2016-03-31 12:53:48 -07:00
Court Ewing cc15b53937 Merge pull request #6692 from epixa/reject-rej-files
[internal] Reject CI builds if any .rej files exist
2016-03-29 15:54:39 -04:00
Court Ewing 55e429cc4f [internal] Reject CI builds if any .rej files exist
.rej are the byproduct of failed patches via git-apply or artifacts of
the backporting process through jasper. Any build that has them should
be rejected early.
2016-03-29 13:24:32 -04:00
Jonathan Budzenski da942d2f62 [build] Rename publish to publishPackages 2016-03-29 09:32:18 -05:00
spalger 7859b81bf4 Merge branch 'master' of github.com:elastic/kibana into feature/console 2016-03-28 14:42:46 -07:00
spalger 1b2dd7da2f [esvm] 127.0.0.1 is the default anyway, avoid min_master_nodes warning 2016-03-28 12:21:52 -07:00
Jonathan Budzenski cde84ecb9a [build] Add tasks for publishing rpm, deb packages 2016-03-28 11:34:31 -05:00
Jonathan Budzenski 6041ff8852 [build] Add rpm, deb name and path 2016-03-28 11:09:13 -05:00
Jonathan Budzenski 5b3e178976 [build] Set group kibana 2016-03-28 11:09:13 -05:00
Jonathan Budzenski b0dd6706d5 [build] Build i386 2016-03-28 11:09:13 -05:00
Jonathan Budzenski ac2ae334fc [build] sha1 packages 2016-03-28 11:09:13 -05:00
Rashid Khan 8bc49597f4 Remove growl dependency 2016-03-23 16:25:07 -07:00
spalger 1728cf84a1 Merge remote-tracking branch 'sense/master' into feature/console 2016-03-23 14:19:43 -07:00
spalger 8c4585a72e Merge branch 'master' of github.com:elastic/kibana into feature/console 2016-03-23 14:12:44 -07:00
Tyler Smalley 32cad000a0 Merge remote-tracking branch 'upstream/master' into feature/design 2016-03-21 18:31:58 -07:00
spalger f53b8c1a27 [java][jenkins] ensure that JDK8 is in PATH 2016-03-21 14:42:58 -07:00
spalger f383827890 [selenium] propertly share download info 2016-03-21 14:36:57 -07:00
Shelby Sturgis aae8583455 Merge branch 'master' into feature/design 2016-03-18 12:48:55 -07:00
Nicolas Bevacqua 849a499771 [hotfix/build] Fix a bug where removing a directory failed under Linux systems 2016-03-18 13:55:00 -03:00
Nicolas Bevacqua 79739ab5ce Ignore OS-specific files in other operating systems. Fixes #4460 2016-03-17 21:05:15 -03:00
spalger 3c0d12a50d Merge branch 'master' of github.com:elastic/kibana into feature/designMergeSnakeCase 2016-03-16 10:08:53 -07:00
spalger d77de4e1ca Merge branch 'master' of github.com:elastic/kibana into renameAllFiles 2016-03-15 00:35:01 -04:00
Nicolás Bevacqua dc87fe1884 Merge pull request #6526 from bevacqua/cleanup/elasticsearch-url-softcoded
Consolidate elasticsearch URL in configuration file. Fixes #5555
2016-03-14 16:44:37 -03:00
Nicolas Bevacqua ec037de9be [test] Consolidate elasticsearch URL in configuration file. Fixes #5555 2016-03-14 14:06:25 -03:00
spalger 398239840d [grunt/esvm] remove marvel config now that it is actually being applied 2016-03-13 14:28:29 -07:00
spalger caf7331a48 [filenames] allow rule-breaking in docs, tasks/config, and webpackShims 2016-03-11 16:42:19 -07:00
spalger cd11af7367 add travis config 2016-03-10 23:13:02 -07:00
spalger 7dda3709ca Merge branch 'renameAllFiles' into feature/design 2016-03-10 12:51:39 -07:00
spalger 0574f59d24 [grunt] require opt-into different task name 2016-03-10 11:40:21 -07:00
Tyler Smalley 9502adedc1 Merge remote-tracking branch 'origin/master' into feature/design 2016-03-09 10:08:35 -08:00
spalger 0403a7bc74 [npm] explicitly depend on real deps 2016-03-08 16:33:53 -07:00
spalger 5ea26743fa [console] involve in the build process 2016-03-07 16:09:41 -07:00
spalger 36cdae8281 [plugins] change plugin ids to be snakecase 2016-02-26 13:40:32 -07:00
spalger 42f936e633 [npm] remove requirefrom package 2016-02-24 14:50:12 -08:00
spalger af9ebba958 [rename] hunt down remaining non-snake path refs 2016-02-24 14:18:21 -08:00
spalger c1c8607f27 [rename] process previously dynamic imports 2016-02-24 13:36:12 -08:00
spalger 07b32d715f Merge branch 'chore/removeRequireFrom' into renameAllFiles 2016-02-24 13:33:57 -08:00
spalger 506c9939b9 [npm] remove requirefrom package 2016-02-24 13:30:02 -08:00
spalger ba19a81dd2 testUtils -> test_utils 2016-02-24 13:00:46 -08:00
spalger d3c8003430 Merge branch 'master' of github.com:elastic/kibana into renameAllFiles 2016-02-24 12:15:46 -08:00
spalger 2422a988e5 [rename] rename all files to snake_case 2016-02-24 12:14:05 -08:00
Rashid Khan c9e0c5fc65 Merge branch 'master' into tweak/smallspy 2016-02-13 15:38:23 -07:00
spalger 508d94540e [grunt/run] be more lenient with flag prefix parsing 2016-02-12 16:01:46 -07:00
Spencer d5732720cf Merge pull request #6227 from spalger/implement/kbnServerArgsGruntRun
support arbitrary config for kbnServer in grunt-run
2016-02-12 15:20:50 -07:00
spalger d664a772c7 Merge branch 'master' of github.com:elastic/kibana into implement/uiTestsForPlugins 2016-02-12 15:16:21 -07:00
spalger 00204a3df2 [npm/clean] rename to sterilize 2016-02-12 12:56:50 -07:00
spalger 4e9e30c7d3 Merge branch 'master' of github.com:elastic/kibana into implement/npmCleanTask 2016-02-12 12:53:04 -07:00
spalger 2722f42d30 [grunt/run] support passing arbitrary commands to underlying kibana started via grunt-run 2016-02-12 09:37:37 -07:00
Khalah Jones-Golden 180aacd470 Merge remote-tracking branch 'upstream/feature/design' into fix/nav-details 2016-02-10 19:06:26 -04:00
spalger 636bc7d9ce Merge branch 'master' of github.com:elastic/kibana into implement/npmCleanTask 2016-02-08 15:20:48 -07:00
spalger 10e97a4d75 Merge branch 'fix/failTestOnBadBulk' into upgrade/elasticsearch/master 2016-02-08 14:05:52 -07:00
Jonathan Budzenski 93b891b5de Merge pull request #6133 from jbudz/issues/6117
[packages] Set metadata
2016-02-08 10:49:34 -06:00
Jonathan Budzenski d64ca9c35b [packages] Add www to metadata url 2016-02-08 09:17:59 -06:00
spalger 6ee704772d [java] use jdk8 on jenkins 2016-02-05 17:31:32 -07:00
Jonathan Budzenski f59443316e [packages] Set deb-priority to optional 2016-02-05 12:32:16 -06:00
spalger da5acc499b [es] upgrade to master 2016-02-05 10:22:26 -07:00
Jonathan Budzenski ad2f9b4ba6 Merge pull request #6114 from jbudz/snapshots
[build] Set os-packages flag on jenkins
2016-02-04 15:03:52 -06:00
Jonathan Budzenski 41d3333316 [packages] Add url, maintainer, vendor, license metadata 2016-02-04 13:39:04 -06:00
Jonathan Budzenski a2b99c44f3 [packaging] Escape spaces instead of quoting description 2016-02-04 09:30:56 -06:00
Jonathan Budzenski cca8c1a919 [build] Set os-packages flag on jenkins 2016-02-03 20:42:59 -06:00
Jonathan Budzenski 34b9a7379a [packaging] Add description 2016-02-03 19:20:17 -06:00
Spencer c54b9ca6b7 Merge pull request #5891 from spalger/implement/mochaSetup
formalize mocha setup
2016-02-01 15:31:42 -07:00
Spencer 94a10efaa3 Merge pull request #5951 from jbudz/issues/5799
[build] Create os packages on jenkins
2016-02-01 15:30:20 -07:00
spalger 758c59710d [eslint] avoid https://github.com/babel/babel-eslint/issues/245 2016-02-01 13:16:59 -07:00
spalger 1b85822e26 [cli/serve] allow disabling the base path proxy if needed 2016-01-21 16:52:25 -07:00
Jonathan Budzenski 4f827c83fa [build] Only build on core 2016-01-20 12:21:35 -06:00
Jonathan Budzenski 24749258db [build] Create os packages on jenkins 2016-01-20 12:04:50 -06:00
Spencer 006333fd99 Merge pull request #5671 from spalger/implement/esvmConfigForShield
Implement esvm config for shield
2016-01-15 17:54:29 -07:00
Spencer 9537d680dc [esvm] rename config name 2016-01-15 17:53:44 -07:00
spalger 7773625690 [simplemocha] always perform mocha setup if grunt task is loaded 2016-01-14 10:32:28 -07:00
spalger 7b15ee05d1 [mochaSetup] added notes to explain the purpose for the workarounds in place 2016-01-13 16:50:55 -07:00
spalger c87aec3dae [mocha] move setup work into module
with https://github.com/elastic/kibana/pull/5553 we added command line flags the told mocha it was supposed to use babel. This changes the strategy here and instead uses mocha's -r option (and it's mocha.opts file to specify it). This means that using mocha directly from the command line still works, and that we have a place where we can do other setup work.
2016-01-12 16:26:42 -07:00
Rashid Khan 1043884a48 Merge pull request #5213 from Bargs/indexPatternApi
Create an Ingest API
2016-01-11 14:26:30 -07:00
spalger 247ad41583 [npm] added "clean" script
"npm run clean" will now find all excess files, confirm they should be deleted, and then delete them. To exclude a file pass it as the --ignore argument
2016-01-11 03:04:12 -07:00
Matthew Bargar a5178be0a7 avoid repetition 2016-01-07 17:25:33 -05:00
Matthew Bargar b4ef144ae0 Created more robust defaults and removed support for overriding them 2016-01-06 12:40:37 -05:00
Matthew Bargar fe296b4b36 First pass at adding support for fields that are part of an object 2016-01-05 16:45:08 -05:00
spalger 102f6bf0a4 Merge branch 'master' of github.com:elastic/kibana into implement/esvmConfigForShield 2016-01-05 13:18:09 -07:00
Jonathan Budzenski 64a0375f56 [build] Update node download path for Windows 2016-01-05 12:51:56 -06:00
Rashid Khan 99b7db7106 Merge pull request #5778 from jbudz/packages
Build package fixes
2015-12-29 16:15:10 -07:00
Jonathan Budzenski 4bbee0a88b [packages] Add args for deb and rpm, remove pkg 2015-12-29 15:35:19 -06:00
Jonathan Budzenski 04f886e852 [packges] Remove osx package 2015-12-29 14:25:58 -06:00
Matthew Bargar 83bbcb6c14 Convert index-pattern keys to snakeCase before sending to ES for the sake of backwards compatibility 2015-12-29 13:37:50 -05:00
Matthew Bargar c5565d72c6 Give API tests their own intern config
Adding a 'suites' property to the existing intern configuration caused
an error to be thrown at the beginning of the functional test run. Even
if the value of 'suites' was just an empty array. The existence of the
property seemed to enabled execution of the config file in the selenium
browser because it complained about not having the node require
function. To fix this, I created a separate api test config file without
the node require and removed the 'suites' property from intern.js.
2015-12-29 13:37:50 -05:00
Matthew Bargar 07e3a33b55 disable xsrf protection when running api tests 2015-12-29 13:37:50 -05:00
Matthew Bargar e6100c2f4e First API test 2015-12-29 13:37:50 -05:00
Court Ewing 300b1e6404 Use grunt root path when collecting git files
No reason to reinvent the wheel here. We already determine the root path
of the project in our grunt config, so we just use that instead.
2015-12-29 10:46:22 -05:00
Court Ewing 86d958ae97 Consolidate git file logic in lintStagedFiles task
We limit the amount of moving parts when it comes to parsing our staged
files in git by reusing the files_to_commit utility rather than the
now-defunct collectStagedFiles task.
2015-12-28 17:31:36 -05:00
Court Ewing acded081fa Check that all new files are snake cased
We removed the snake case check during precommit because it was
interfering with us getting features merged when dealing with legacy
files, but we do want to verify that any new files added have snake
cased names.
2015-12-28 16:53:39 -05:00
Jonathan Budzenski ed25f879ae Remove snake case check 2015-12-28 15:03:07 -06:00
Jonathan Budzenski 9a19b978ba [packages] Copy files when making os packages 2015-12-28 11:51:45 -06:00