Merge pull request #7831 from spalger/backport/4.5/newCiScripts

[backport/4.5] [ci] add scripts for new CI
This commit is contained in:
Spencer 2016-07-25 08:58:47 -07:00 committed by GitHub
commit 6d5282ff15
6 changed files with 83 additions and 11 deletions

View file

@ -154,7 +154,7 @@
"grunt-cli": "0.1.13",
"grunt-contrib-clean": "0.6.0",
"grunt-contrib-copy": "0.8.1",
"grunt-esvm": "3.0.4",
"grunt-esvm": "3.2.3",
"grunt-karma": "0.12.0",
"grunt-run": "0.5.0",
"grunt-s3": "0.2.0-alpha.3",

View file

@ -2,7 +2,15 @@ import { compact } from 'lodash';
import { delimiter } from 'path';
module.exports = function (grunt) {
grunt.registerTask('jenkins', 'Jenkins build script', function () {
// TODO: remove after migration to new CI is complete
grunt.registerTask('jenkins', compact([
'jenkins:env',
'rejectRejFiles',
'test',
process.env.JOB_NAME === 'kibana_core' ? 'build' : null
]));
grunt.registerTask('jenkins:env', () => {
// make sure JAVA_HOME points to JDK8
const HOME = '/usr/lib/jvm/jdk8';
process.env.JAVA_HOME = HOME;
@ -11,15 +19,22 @@ module.exports = function (grunt) {
const path = process.env.PATH.split(delimiter);
path.unshift(`${HOME}/bin`);
process.env.PATH = path.join(delimiter);
// always build os packages on jenkins
grunt.option('os-packages', true);
grunt.task.run(compact([
'rejectRejFiles',
'test',
process.env.JOB_NAME === 'kibana_core' ? 'build' : null
]));
});
grunt.registerTask('jenkins:unit', [
'jenkins:env',
'rejectRejFiles',
'eslint:source',
'test:server',
'test:browser',
]);
grunt.registerTask('jenkins:selenium', [
'jenkins:env',
'rejectRejFiles',
'test:ui'
]);
};

39
test/scripts/_jenkins_setup.sh Executable file
View file

@ -0,0 +1,39 @@
#!/usr/bin/env bash
set -e
###*****###
### CWD ###
###*****###
if [ -n "$WORKSPACE" ]; then
cd "$WORKSPACE"
else
echo 'Unable to find the $WORKSPACE environment variable, is this jenkins?'
exit 1
fi
###*****###
### NVM ###
###*****###
export NVM_DIR="/var/lib/jenkins/.nvm"
NVM_SCRIPT="$NVM_DIR/nvm.sh"
if [ -s "$NVM_SCRIPT" ]; then
. "$NVM_SCRIPT" # load nvm
else
echo "Unable to find the nvm script at \"$NVM_SCRIPT\""
exit 1
fi
nvm install "$(cat .node-version)"
###*****###
### NPM ###
###*****###
npm install
if [ -z "$(npm bin)" ]; then
echo "npm does not know where it stores executables..... huh??"
exit 1
fi

View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -e
source "$(dirname $0)/_jenkins_setup.sh"
"$(npm bin)/grunt" build;

View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -e
source "$(dirname $0)/_jenkins_setup.sh"
xvfb-run "$(npm bin)/grunt" jenkins:selenium;

6
test/scripts/jenkins_unit.sh Executable file
View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -e
source "$(dirname $0)/_jenkins_setup.sh"
xvfb-run "$(npm bin)/grunt" jenkins:unit;