X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=scripts%2Fkernel%2Fjob-generator-kernel.sh;h=ec045b52462d1f2bdd32ce8f8a77934fca1a64a3;hb=5c65bbc2ea87bdcecc0c02cc7c19c50c94d6d6cb;hp=b8781d2503441bbfac0a19331c67a6baa24d974e;hpb=00d0a0266c6114b8c2f836e7dfd4000fba0a9187;p=lttng-ci.git diff --git a/scripts/kernel/job-generator-kernel.sh b/scripts/kernel/job-generator-kernel.sh index b8781d2..ec045b5 100755 --- a/scripts/kernel/job-generator-kernel.sh +++ b/scripts/kernel/job-generator-kernel.sh @@ -1,4 +1,4 @@ -#!/bin/sh -ex +#!/bin/bash -ex # # Copyright (C) 2016 - Jonathan Rajotte-Julien # @@ -18,33 +18,60 @@ 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