[ci] add scripts for new CI

This commit is contained in:
spalger 2016-07-25 07:17:14 -07:00
parent de438a09e5
commit 40ba6946a5
5 changed files with 83 additions and 10 deletions

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,23 @@ 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',
'test:api',
]);
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;