summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip Hands <phil@hands.com>2016-07-18 13:58:12 +0200
committerHolger Levsen <holger@layer-acht.org>2016-07-18 19:59:17 +0200
commitf7e88d07551f9c1c71ca72d8653e68cde1dbe883 (patch)
tree48b8a30bac8953cbad0f6eb4e78aed6b61a2cd4d
parent7e8292ff4b05ad1e3b29268a816b4f2abed667d5 (diff)
downloadjenkins.debian.net-f7e88d07551f9c1c71ca72d8653e68cde1dbe883.tar.xz
d-i: inject variables for later triggers
Signed-off-by: Holger Levsen <holger@layer-acht.org>
-rwxr-xr-xbin/d-i_build.sh27
-rwxr-xr-xbin/jenkins_master_wrapper.sh2
-rwxr-xr-xbin/jenkins_node_wrapper.sh2
-rwxr-xr-xbin/lvc.sh8
-rwxr-xr-xjob-cfg/d-i.yaml.py12
-rw-r--r--job-cfg/lvc.yaml4
6 files changed, 30 insertions, 25 deletions
diff --git a/bin/d-i_build.sh b/bin/d-i_build.sh
index e2af277d..e076a70d 100755
--- a/bin/d-i_build.sh
+++ b/bin/d-i_build.sh
@@ -46,23 +46,26 @@ replace_origin_pu() {
iso_target() {
UI=$1 ; shift
- echo "${ISO_DIR}/mini-${UI}$(replace_origin_pu "-" $PU_GIT_BRANCH).iso"
+ BRANCH=$1 ; shift
+ echo "${ISO_DIR}/mini-${UI}${BRANCH}.iso"
}
preserve_artifacts() {
#
# Check is we're in a pu/* branch, and if so save the udebs
#
- if PU_BRANCH_DIR=$(replace_origin_pu "/srv/udebs/" $GIT_BRANCH) ; then
- mkdir -p $PU_BRANCH_DIR
- cp ${RESULT_DIR}/*.udeb $PU_BRANCH_DIR
+ if udeb_dir=$(replace_origin_pu "/srv/udebs/" $GIT_BRANCH) ; then
+ mkdir -p $udeb_dir
+ cp ${RESULT_DIR}/*.udeb $udeb_dir
+ # this is put into env.txt below, so that the variable(s) can be injected into the jenkins environment
+ ENV_TO_INJECT="OUR_BRANCH=$GIT_BRANCH"
fi
#
# Alternatively, if we built an images tarball and were triggered by a pu/ branch
#
IMAGETAR=${RESULT_DIR}/debian-installer-images_*.tar.gz
- if [ -f $IMAGETAR -a "$PU_GIT_BRANCH" ] ; then
+ if [ -f $IMAGETAR -a "$TRIGGERING_BRANCH" ] ; then
[ -d ${ISO_DIR} ] || mkdir ${ISO_DIR}
echo "untaring the .iso images from $IMAGETAR:"
@@ -70,8 +73,9 @@ preserve_artifacts() {
echo "sha256sum of .iso images:"
sha256sum installer-*/*/images/netboot/gtk/mini.iso installer-*/*/images/netboot/mini.iso
echo "move them into place..."
- mv -f installer-*/*/images/netboot/gtk/mini.iso $(iso_target gtk)
- mv -f installer-*/*/images/netboot/mini.iso $(iso_target text)
+ BRANCH=$(replace_origin_pu "-" $TRIGGERING_BRANCH)
+ mv -f installer-*/*/images/netboot/gtk/mini.iso $(iso_target gtk $BRANCH)
+ mv -f installer-*/*/images/netboot/mini.iso $(iso_target text $BRANCH)
echo "and see if they are there (listing creation time):"
ls -ltrc $ISO_DIR
@@ -126,11 +130,11 @@ pdebuild_package() {
NUM_CPU=1
fi
#
- # if we got a valid PU_GIT_BRANCH passed in as a parameter from the triggering job
+ # if we got a valid TRIGGERING_BRANCH passed in as a parameter from the triggering job
# then grab the generated udebs. FIXME -- we need to work work out a way of cleaning up old branches
#
- if PU_BRANCH_DIR=$(replace_origin_pu "/srv/udebs/" $PU_GIT_BRANCH) ; then
- cp $PU_BRANCH_DIR/* build/localudebs
+ if udeb_dir=$(replace_origin_pu "/srv/udebs/" $TRIGGERING_BRANCH) ; then
+ cp $udeb_dir/* build/localudebs
fi
pdebuild --use-pdebuild-internal --debbuildopts "-j$NUM_CPU -b" --buildresult ${RESULT_DIR} -- --http-proxy $http_proxy
# cleanup
@@ -152,3 +156,6 @@ else
echo do something else ; exit 1
fi
clean_workspace
+
+# write out the environment variable(s) for injection into jenkins job
+echo "$ENV_TO_INJECT" > env.txt
diff --git a/bin/jenkins_master_wrapper.sh b/bin/jenkins_master_wrapper.sh
index 2c81b682..7aefb747 100755
--- a/bin/jenkins_master_wrapper.sh
+++ b/bin/jenkins_master_wrapper.sh
@@ -25,7 +25,7 @@ get_node_ssh_port $NODE_NAME
case $JOB_NAME in
rebootstrap_*) PARAMS="$JOB_NAME $@"
;;
- lvc_*) PARAMS="$JOB_NAME $EXECUTOR_NUMBER PU_GIT_BRANCH=${PU_GIT_BRANCH:-} $@"
+ lvc_*) PARAMS="$JOB_NAME $EXECUTOR_NUMBER TRIGGERING_BRANCH=${TRIGGERING_BRANCH:-} $@"
export
;;
*) PARAMS="$JOB_NAME"
diff --git a/bin/jenkins_node_wrapper.sh b/bin/jenkins_node_wrapper.sh
index e3807c95..86d95bda 100755
--- a/bin/jenkins_node_wrapper.sh
+++ b/bin/jenkins_node_wrapper.sh
@@ -75,7 +75,7 @@ elif [[ "$*" =~ lvc_.* ]] ; then
echo debug end
export JOB_NAME=$1 ; shift
export EXECUTOR_NUMBER=$1 ; shift
- export PU_GIT_BRANCH=${1#*=} ; shift
+ export TRIGGERING_BRANCH=${1#*=} ; shift
export WORKSPACE=~jenkins/jobs/$JOB_NAME/workspace
COMMAND="/srv/jenkins/bin/lvc.sh $@"
exec $COMMAND; croak "Exec failed";
diff --git a/bin/lvc.sh b/bin/lvc.sh
index fdb88f9d..3b26c907 100755
--- a/bin/lvc.sh
+++ b/bin/lvc.sh
@@ -18,9 +18,9 @@ replace_origin_pu() {
echo "${PREFIX}pu_${BRANCH#origin/pu/}"
}
-# if $URL is set to "use_PU_GIT_BRANCH" then use the contents of $PU_GIT_BRANCH to work out the locally built ISO name
-if [ "use_PU_GIT_BRANCH" = "$URL" ] ; then
- if PU_ISO="$(replace_origin_pu "/srv/d-i/isos/mini-gtk-" $PU_GIT_BRANCH).iso" ; then
+# if $URL is set to "use_TRIGGERING_BRANCH" then use the contents of $TRIGGERING_BRANCH to work out the locally built ISO name
+if [ "use_TRIGGERING_BRANCH" = "$URL" ] ; then
+ if PU_ISO="$(replace_origin_pu "/srv/d-i/isos/mini-gtk-" $TRIGGERING_BRANCH).iso" ; then
[ -f "$PU_ISO" ] || {
echo "looks like we're meant to be testing '$PU_ISO', but it's missing"
exit 1
@@ -28,7 +28,7 @@ if [ "use_PU_GIT_BRANCH" = "$URL" ] ; then
URL=$PU_ISO
echo "using locally built ISO image: URL='$URL'"
else
- echo "URL='$URL' but PU_GIT_BRANCH='$PU_GIT_BRANCH' -- aborting"
+ echo "URL='$URL' but TRIGGERING_BRANCH='$TRIGGERING_BRANCH' -- aborting"
exit 1
fi
fi
diff --git a/job-cfg/d-i.yaml.py b/job-cfg/d-i.yaml.py
index d6ae55e1..b9065474 100755
--- a/job-cfg/d-i.yaml.py
+++ b/job-cfg/d-i.yaml.py
@@ -369,12 +369,12 @@ data.extend(
'branches': ['{branch}']}}],
'builders': [{'shell': '/srv/jenkins/bin/d-i_build.sh'},
{'trigger-builds': [{'project': 'lvc_debian-miniiso',
- 'predefined-parameters': 'PU_GIT_BRANCH=$PU_GIT_BRANCH'
+ 'current-parameters': 'true',
}]}],
'project-type': 'freestyle',
'properties': prop(type='packages', priority=99),
- 'parameters': [{'string': {'name': 'PU_GIT_BRANCH',
- 'description': 'git branch that triggered the build that resulted in this subsequent build.'}}],
+ 'parameters': [{'string': {'name': 'TRIGGERING_BRANCH',
+ 'description': 'git branch that triggered the build that resulted in this subsequent build.'}}],
'logrotate': lr(90),
'publishers': publ(irc='debian-boot')}}])
@@ -388,16 +388,14 @@ data.extend(
'scm': [{'git': {'url': '{gitrepo}',
'branches': ['{branch}']}}],
'builders': [ {'shell': '/srv/jenkins/bin/d-i_build.sh'},
+ {'inject': {'properties-file': 'env.txt'}},
{'trigger-builds': [{'project': 'd-i_pu-triggered_debian-installer',
- 'current-parameters': 'true',
- 'predefined-parameters': 'PU_GIT_BRANCH=$GIT_BRANCH'
+ 'predefined-parameters': 'TRIGGERING_BRANCH=$OUR_BRANCH'
},
]}
],
'project-type': 'freestyle',
'properties': prop(type='packages', priority=99),
- 'parameters': [{'string': {'name': 'GIT_BRANCH',
- 'description': 'git branch to pretend to have triggered a by-hand build.'}}],
'logrotate': lr(90),
'publishers': publ(irc='debian-boot')}}])
diff --git a/job-cfg/lvc.yaml b/job-cfg/lvc.yaml
index 78916dae..1e4b2846 100644
--- a/job-cfg/lvc.yaml
+++ b/job-cfg/lvc.yaml
@@ -24,7 +24,7 @@
- lvc
parameters:
- string:
- name: PU_GIT_BRANCH
+ name: TRIGGERING_BRANCH
description: The git branch that triggered the build that reulted in this subsequent build
logrotate:
daysToKeep: 90
@@ -107,7 +107,7 @@
my_time: 'H */8 * * *'
- 'debian-miniiso':
dist_name: 'Debian-Installer local mini.iso'
- my_iso: 'use_PU_GIT_BRANCH'
+ my_iso: 'use_TRIGGERING_BRANCH'
- 'debian-testing-daily-broken':
dist_name: 'Debian-Installer Testing (Daily) -- Broken Scenarios'
my_iso: 'http://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/amd64/iso-cd/debian-testing-amd64-netinst.iso'