diff options
-rwxr-xr-x | bin/d-i_build.sh | 27 | ||||
-rwxr-xr-x | bin/jenkins_master_wrapper.sh | 2 | ||||
-rwxr-xr-x | bin/jenkins_node_wrapper.sh | 2 | ||||
-rwxr-xr-x | bin/lvc.sh | 8 | ||||
-rwxr-xr-x | job-cfg/d-i.yaml.py | 12 | ||||
-rw-r--r-- | job-cfg/lvc.yaml | 4 |
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"; @@ -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' |