lava: Switch default lava-server to lava-master-03
[lttng-ci.git] / scripts / kernel / job-generator-kernel.sh
index b8781d2503441bbfac0a19331c67a6baa24d974e..ec045b52462d1f2bdd32ce8f8a77934fca1a64a3 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh -ex
+#!/bin/bash -ex
 #
 # Copyright (C) 2016 - Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com>
 #
 PYTHON_2_ENV=$WORKSPACE"/.python2_venv"
 PYTHON_3_ENV=$WORKSPACE"/.python3_venv"
 
-virtualenv -p python2 $PYTHON_2_ENV
-virtualenv -p python3 $PYTHON_3_ENV
+# Prepare JJB python 2 environment
+set -x
+if [ ! -d "$PYTHON_2_ENV" ]; then
+       virtualenv -p python2 $PYTHON_2_ENV
+fi
+set +x
 
-# Prepare python 3 env
-. $PYTHON_3_ENV/bin/activate
-pip install gitpython
-pip install pyyaml
+. $PYTHON_2_ENV/bin/activate
+pip install --force-reinstall git+git://github.com/mjeanson/jenkins-job-builder@ci
+deactivate
 
-# Run the kernel seed generator
-python $WORKSPACE/automation/kernel-seed.py --kernel-path $WORKSPACE/kernel --kernel-cutoff 2.6.36 > $WORKSPACE/jobs/inc/kernel-versions.yaml.inc
+# Prepare python 3 env
+if [ ! -d "$PYTHON_3_ENV" ]; then
+       virtualenv -p python3 $PYTHON_3_ENV
+fi
 
+. $PYTHON_3_ENV/bin/activate
+pip install --upgrade gitpython pyyaml
 deactivate
 
-# Prepare JJB python 2 environment
-. $PYTHON_2_ENV/bin/activate
-pip install git+git://github.com/mjeanson/jenkins-job-builder
-
+# Prepare the configuration file for jjb
 cp $WORKSPACE/etc/jenkins_jobs.ini-sample $WORKSPACE/etc/jenkins_jobs.ini
 
-# Prepare configuration file
+# Set +x: hide information from the jenkins console log since we use injected
+# secrets
 set +x
 sed -i -e "s/user=jenkins/user=$JJB_JENKINS_USER/g" $WORKSPACE/etc/jenkins_jobs.ini
 sed -i -e "s/password=1234567890abcdef1234567890abcdef/password=$JJB_JENKINS_TOKEN/g" $WORKSPACE/etc/jenkins_jobs.ini
 set -x
 
+#Prepare the kernel
+if [ ! -d "$WORKSPACE/kernel" ]; then
+       git clone git://artifacts.internal.efficios.com/git/linux-stable.git $WORKSPACE/kernel
+else
+       pushd $WORKSPACE/kernel
+       git fetch --tags origin
+       popd
+fi
+
+# Clean the previous rc
+# Note: this step is stateful since it use the last generated version.
+. $PYTHON_2_ENV/bin/activate
 jenkins-jobs --conf $WORKSPACE/etc/jenkins_jobs.ini delete --path $WORKSPACE/jobs/lttng-modules.yaml:$WORKSPACE/jobs/kernel.yaml \*rc\*_build
-jenkins-jobs --conf $WORKSPACE/etc/jenkins_jobs.ini update $WORKSPACE/jobs/lttng-modules.yaml:$WORKSPACE/jobs/kernel.yaml
+deactivate
 
+# Run the kernel seed generator
+. $PYTHON_3_ENV/bin/activate
+python $WORKSPACE/automation/kernel-seed.py --kernel-path $WORKSPACE/kernel --kernel-cutoff 2.6.36 > $WORKSPACE/jobs/inc/kernel-versions.yaml.inc
+deactivate
+
+. $PYTHON_2_ENV/bin/activate
+jenkins-jobs --conf $WORKSPACE/etc/jenkins_jobs.ini update $WORKSPACE/jobs/lttng-modules.yaml:$WORKSPACE/jobs/kernel.yaml
 deactivate
+
+# Flush the configuration file so no one can access it
+rm -f $WORKSPACE/etc/jenkins_jobs.ini
 # EOF
This page took 0.023666 seconds and 4 git commands to generate.