218986c07e
* Use separate startup scripts for development and production * build kibana directly * [build] Use downloaded node when pre-optimizing * clearer variable name * Add breaking changes docs
216 lines
5.1 KiB
JavaScript
216 lines
5.1 KiB
JavaScript
import { esTestConfig } from '../../src/test_utils/es';
|
|
import { kibanaTestServerUrlParts } from '../../test/kibana_test_server_url_parts';
|
|
import { resolve, join } from 'path';
|
|
import { platform as getPlatform } from 'os';
|
|
|
|
const SECOND = 1000;
|
|
const MINUTE = 60 * SECOND;
|
|
const HOUR = 60 * MINUTE;
|
|
const PLATFORM = getPlatform();
|
|
|
|
module.exports = function (grunt) {
|
|
const binScript = `node`;
|
|
const pkgVersion = grunt.config.get('pkg.version');
|
|
const releaseBinScript = `./build/kibana-${pkgVersion}-linux-x86_64/bin/kibana`;
|
|
const optimizeScript = /^win/.test(PLATFORM) ? '.\\build\\kibana\\bin\\kibana.bat' : './build/kibana/bin/kibana';
|
|
const binArgs = [
|
|
join('scripts', 'kibana'),
|
|
];
|
|
|
|
const stdDevArgs = [
|
|
'--env.name=development',
|
|
'--logging.json=false',
|
|
];
|
|
|
|
const buildTestsArgs = [
|
|
...stdDevArgs,
|
|
'--plugins.initialize=false',
|
|
'--optimize.bundleFilter=tests',
|
|
];
|
|
|
|
const kbnServerFlags = grunt.option.flags().reduce(function (flags, flag) {
|
|
if (flag.startsWith('--kbnServer.')) {
|
|
flags.push(`--${flag.slice(12)}`);
|
|
}
|
|
|
|
return flags;
|
|
}, []);
|
|
|
|
return {
|
|
eslint: {
|
|
cmd: process.execPath,
|
|
args: [
|
|
require.resolve('../../scripts/eslint'),
|
|
'--no-cache'
|
|
]
|
|
},
|
|
|
|
testServer: {
|
|
options: {
|
|
wait: false,
|
|
ready: /Server running/,
|
|
quiet: false,
|
|
failOnError: false
|
|
},
|
|
cmd: binScript,
|
|
args: [
|
|
...binArgs,
|
|
...buildTestsArgs,
|
|
'--server.port=5610',
|
|
...kbnServerFlags,
|
|
]
|
|
},
|
|
|
|
apiTestServer: {
|
|
options: {
|
|
wait: false,
|
|
ready: /Server running/,
|
|
quiet: false,
|
|
failOnError: false
|
|
},
|
|
cmd: binScript,
|
|
args: [
|
|
...binArgs,
|
|
...stdDevArgs,
|
|
'--optimize.enabled=false',
|
|
'--elasticsearch.url=' + esTestConfig.getUrl(),
|
|
'--elasticsearch.healthCheck.delay=' + HOUR,
|
|
'--server.port=' + kibanaTestServerUrlParts.port,
|
|
'--server.xsrf.disableProtection=true',
|
|
...kbnServerFlags,
|
|
]
|
|
},
|
|
|
|
devApiTestServer: {
|
|
options: {
|
|
wait: false,
|
|
ready: /Server running/,
|
|
quiet: false,
|
|
failOnError: false
|
|
},
|
|
cmd: binScript,
|
|
args: [
|
|
...binArgs,
|
|
...stdDevArgs,
|
|
'--dev',
|
|
'--no-base-path',
|
|
'--optimize.enabled=false',
|
|
'--elasticsearch.url=' + esTestConfig.getUrl(),
|
|
'--server.port=' + kibanaTestServerUrlParts.port,
|
|
'--server.xsrf.disableProtection=true',
|
|
...kbnServerFlags,
|
|
]
|
|
},
|
|
|
|
testUIServer: {
|
|
options: {
|
|
wait: false,
|
|
ready: /Server running/,
|
|
quiet: false,
|
|
failOnError: false
|
|
},
|
|
cmd: binScript,
|
|
args: [
|
|
...binArgs,
|
|
...stdDevArgs,
|
|
'--server.port=' + kibanaTestServerUrlParts.port,
|
|
'--elasticsearch.url=' + esTestConfig.getUrl(),
|
|
...kbnServerFlags,
|
|
]
|
|
},
|
|
|
|
testUIReleaseServer: {
|
|
options: {
|
|
wait: false,
|
|
ready: /Server running/,
|
|
quiet: false,
|
|
failOnError: false
|
|
},
|
|
cmd: releaseBinScript,
|
|
args: [
|
|
...stdDevArgs,
|
|
'--server.port=' + kibanaTestServerUrlParts.port,
|
|
'--elasticsearch.url=' + esTestConfig.getUrl(),
|
|
...kbnServerFlags,
|
|
]
|
|
},
|
|
|
|
testUIDevServer: {
|
|
options: {
|
|
wait: false,
|
|
ready: /Server running/,
|
|
quiet: false,
|
|
failOnError: false
|
|
},
|
|
cmd: binScript,
|
|
args: [
|
|
...binArgs,
|
|
...stdDevArgs,
|
|
'--server.port=' + kibanaTestServerUrlParts.port,
|
|
'--elasticsearch.url=' + esTestConfig.getUrl(),
|
|
'--dev',
|
|
'--no-base-path',
|
|
'--optimize.lazyPort=5611',
|
|
'--optimize.lazyPrebuild=true',
|
|
'--optimize.bundleDir=' + resolve(__dirname, '../../optimize/testUiServer'),
|
|
...kbnServerFlags,
|
|
]
|
|
},
|
|
|
|
testCoverageServer: {
|
|
options: {
|
|
wait: false,
|
|
ready: /Server running/,
|
|
quiet: false,
|
|
failOnError: false
|
|
},
|
|
cmd: binScript,
|
|
args: [
|
|
...binArgs,
|
|
...buildTestsArgs,
|
|
'--server.port=5610',
|
|
'--tests_bundle.instrument=true',
|
|
...kbnServerFlags,
|
|
]
|
|
},
|
|
|
|
devTestServer: {
|
|
options: {
|
|
wait: false,
|
|
ready: /Server running/,
|
|
quiet: false,
|
|
failOnError: false
|
|
},
|
|
cmd: binScript,
|
|
args: [
|
|
...binArgs,
|
|
...buildTestsArgs,
|
|
'--dev',
|
|
'--no-watch',
|
|
'--no-base-path',
|
|
'--server.port=5610',
|
|
'--optimize.lazyPort=5611',
|
|
'--optimize.lazyPrebuild=true',
|
|
'--optimize.bundleDir=' + resolve(__dirname, '../../optimize/testdev'),
|
|
...kbnServerFlags,
|
|
]
|
|
},
|
|
|
|
optimizeBuild: {
|
|
options: {
|
|
wait: false,
|
|
ready: /Optimization .+ complete/,
|
|
quiet: true
|
|
},
|
|
cmd: optimizeScript,
|
|
args: [
|
|
'--env.name=production',
|
|
'--logging.json=false',
|
|
'--plugins.initialize=false',
|
|
'--server.autoListen=false',
|
|
...kbnServerFlags,
|
|
]
|
|
}
|
|
};
|
|
};
|