Commit graph

23 commits

Author SHA1 Message Date
Jonathan Budzenski
836a4213f8
[5.6] [ci] Build docs (#15219) 2017-11-29 09:17:30 -06:00
Spencer
896ee28839
[5.6] [eslint] add eslint dev script (#14889) (#14943) 2017-11-14 10:24:14 -07:00
Court Ewing
6f17475ebc Run tests against an actual Kibana build (#11237) (#13490)
* 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-08-23 08:55:23 -04:00
Spencer
41087efb6a [jenkins/ftr] bail on first functional test failure (#12111)
(cherry picked from commit b7f519704a)
2017-05-31 14:19:13 -07:00
Kim Joar Bekkelund
9d5b193697 Move Jest test setup to root (#10963) (#11066) 2017-04-05 22:59:02 -04:00
jasper
1f9f5732a7 [5.x] Kibana Globalization - Phase 1 (#10664)
* Kibana Globalization - Phase 1

Backports PR #7545

**Commit 1:**
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

* Original sha: aca671f10b
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-06-20T17:12:25Z

**Commit 2:**
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>

* Original sha: c3ba5785cb
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-06-21T13:36:59Z

**Commit 3:**
Updated i18n core plugin APIs to be asynchronous

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

* Original sha: 80d8a2ce72
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-06-22T17:25:30Z

**Commit 4:**
Fix thread synchroization issue in storePluginLanguageTranslations

* Original sha: 856fb0200f
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-06-24T10:43:06Z

**Commit 5:**
Update error handling in i18n core plugin

* Original sha: c5d22bede1
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-06-24T14:30:27Z

**Commit 6:**
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.

* Original sha: b37e4f8b7b
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-06-27T11:04:01Z

**Commit 7:**
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

* Original sha: ec6d2b1ca2
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-06-27T22:42:15Z

**Commit 8:**
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

* Original sha: a75faaea1c
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-06-28T21:10:39Z

**Commit 9:**
Add API to return all registered plugin language translations

* Original sha: 66d051bed3
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-06-29T17:02:34Z

**Commit 10:**
Add HAPI API to get all plugins translation files

* Original sha: c3403e7530
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-06-30T16:08:28Z

**Commit 11:**
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

* Original sha: 0f4902d98d
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-01T16:09:33Z

**Commit 12:**
Update API test

* Original sha: 9785df221f
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-05T17:52:25Z

**Commit 13:**
Add eslint fix for API test

* Original sha: d41fcecc49
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-06T10:00:22Z

**Commit 14:**
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.

* Original sha: c8b2197ad5
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-11T11:23:37Z

**Commit 15:**
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

* Original sha: e17653dd04
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-15T18:24:21Z

**Commit 16:**
Update after review comments

Updated write function to be asynchronous

* Original sha: eaf35ab392
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-19T11:03:45Z

**Commit 17:**
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.

* Original sha: f1974ca2ab
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-21T17:43:27Z

**Commit 18:**
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.

* Original sha: 10db4585bd
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-25T13:58:54Z

**Commit 19:**
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

* Original sha: 4957173794
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-27T10:00:35Z

**Commit 20:**
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.

* Original sha: 5f61475ad5
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-28T14:18:19Z

**Commit 21:**
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.

* Original sha: 9fbe6d5fcd
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-07-29T10:51:33Z

**Commit 22:**
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

* Original sha: 32d5034d9c
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-08-08T14:39:34Z

**Commit 23:**
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

* Original sha: 8c7f51ca5d
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-08-09T09:36:04Z

**Commit 24:**
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

* Original sha: b84f40a40b
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-08-09T11:09:18Z

**Commit 25:**
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.

* Original sha: 2dd3065856
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-08-16T09:28:38Z

**Commit 26:**
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

* Original sha: db11a2db24
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-08-18T14:09:22Z

**Commit 27:**
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

* Original sha: 8c39a8d5e9
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-08-19T12:44:39Z

**Commit 28:**
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

* Original sha: a9e30d3931
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-08-19T17:31:10Z

**Commit 29:**
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

* Original sha: da669da2e5
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-08-30T17:49:23Z

**Commit 30:**
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

* Original sha: 9064e8a7e6
* Authored by Martin Hickey <martin.hickey@ie.ibm.com> on 2016-08-31T10:42:52Z

* [eslint] autofix lint errors
2017-03-02 16:40: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
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
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
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
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
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
spalger
f53b8c1a27 [java][jenkins] ensure that JDK8 is in PATH 2016-03-21 14:42:58 -07:00
spalger
6ee704772d [java] use jdk8 on jenkins 2016-02-05 17:31:32 -07:00
Jonathan Budzenski
cca8c1a919 [build] Set os-packages flag on jenkins 2016-02-03 20:42:59 -06: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
Matt Bargar
03e109f753 Use esvm to start and stop elasticsearch for all tests that need it 2015-09-10 14:57:54 -04:00
spalger
8b37a1fc23 [jenkins] build snapshots as the final task of core jobs 2015-08-18 19:26:15 -07:00
spalger
f9897a3773 added grunt tasks for jenkins and travis 2015-07-28 09:45:10 -07:00