From 132edaad169fa798fc8a84818b5b23c57dd57f35 Mon Sep 17 00:00:00 2001 From: Holger Levsen Date: Tue, 28 Oct 2014 01:40:04 +0100 Subject: d-i: drop d-i_parse_build_logs job. add 15 new ones, d-i_overview_$arch. Each jobs checks the build status for its arch. There are no irc notifictations yet, as currently the jobs are run 24 times a day and I don't want 24 notifications a day..." --- bin/d-i_overview.sh | 42 +++++++++++++++++++++++++ bin/d-i_parse_logs.sh | 38 ---------------------- job-cfg/d-i-overview.yaml.py | 75 ++++++++++++++++++++++++++++++++++++++++++++ job-cfg/d-i.yaml | 22 ------------- 4 files changed, 117 insertions(+), 60 deletions(-) create mode 100755 bin/d-i_overview.sh delete mode 100755 bin/d-i_parse_logs.sh create mode 100644 job-cfg/d-i-overview.yaml.py diff --git a/bin/d-i_overview.sh b/bin/d-i_overview.sh new file mode 100755 index 00000000..2c1fc35f --- /dev/null +++ b/bin/d-i_overview.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# Copyright 2014 Holger Levsen +# released under the GPLv=2 + +DEBUG=false +. /srv/jenkins/bin/common-functions.sh +common_init "$@" + +# convert param to variables +if [ "$1" == "" ] ; then + echo "need an Archicture to act on" + exit 1 +fi +ARCH=$1 +URL=http://d-i.debian.org/daily-images/daily-build-overview.html + +TMPFILE=$(mktemp) +MISSING=$(mktemp) +FAILED=$(mktemp) +CLEAN=true + +curl -s -S $URL -o $TMPFILE +echo "Checking $URL for build issues on $ARCH." + +# http://anonscm.debian.org/viewvc/d-i/trunk/scripts/daily-build-overview?view=markup is used to generate the HTML +awk '/ul id="missingarchs/,/<\/ul>/' $TMPFILE > $MISSING +awk '/ul id="failedarchs/,/<\/ul>/' $TMPFILE > $FAILED +if grep -q "
  • -# released under the GPLv=2 - -DEBUG=false -. /srv/jenkins/bin/common-functions.sh -common_init "$@" - -# convert param to variables -if [ "$1" == "" ] ; then - echo "need at least one URL to act on" - echo '# $1 = URL' - exit 1 -fi -URL=$1 - -TMPFILE=$(mktemp) -curl $URL > $TMPFILE -if [ $(grep -c failed $TMPFILE 2>/dev/null ) -gt 1 ] ; then - figlet Warning: - figlet failed builds: - for FILE in $(grep failed $TMPFILE | awk '{print $2}' FS=href= | cut -d '"' -f2) ; do - echo Warning: $FILE failed - done -elif [ $(grep buildd $TMPFILE 2>/dev/null|grep -v "$(date +'%b %d')"|grep -v "$(date --date yesterday +'%b %d')"|grep -v "See also"|wc -l ) -gt 0 ] ; then - echo "Warning: outdated builds:" - figlet outdated builds - grep buildd $TMPFILE 2>/dev/null|grep -v "$(date +'%b %d')"| grep -v "$(date --date yesterday +'%b %d')" |grep -v "See also" -else - figlet ok -fi -echo -echo Check $1 yourself -echo - -sed -i -s 's#http://d-i.debian.org/daily-images/daily-build-overview.html daily. {do_not_edit}' + builders: + - shell: '/srv/jenkins/bin/d-i_overview.sh %(arch)s' + triggers: + - timed: "0 */6 * * *" + publishers: + - logparser: + parse-rules: '/srv/jenkins/logparse/debian-installer.rules' + unstable-on-warning: 'true' + fail-on-error: 'true' + - email: + recipients: holger@layer-acht.org + notify-every-unstable-build: false +# recipients: jenkins+debian-boot holger@layer-acht.org +""" % dict(arch=arch)) + +print(""" +- project: + name: d-i + do_not_edit: '

    Job configuration source is
    d-i-overview.yaml.py.' + jobs:""") +for arch in sorted(archs): + print(""" - '{name}_overview_%(arch)s'""" + % dict(arch=arch)) + + + + diff --git a/job-cfg/d-i.yaml b/job-cfg/d-i.yaml index 1f2c19ac..ade704bb 100644 --- a/job-cfg/d-i.yaml +++ b/job-cfg/d-i.yaml @@ -309,27 +309,6 @@ # artifacts: '*_*.dsc *_*.tar.* *_*_*.deb *_*_*.build *_*_*.changes' # latest_only: true -- job-template: - defaults: d-i - name: '{name}_parse_build_logs' - description: 'Parses d-i build logs from http://d-i.debian.org/daily-images/build-logs.html daily. {do_not_edit}' - builders: - - shell: '/srv/jenkins/bin/d-i_parse_logs.sh http://d-i.debian.org/daily-images/build-logs.html' - triggers: - - timed: "0 5 * * *" - publishers: - - logparser: - parse-rules: '/srv/jenkins/logparse/debian-installer.rules' - unstable-on-warning: 'true' - fail-on-error: 'true' - - email: - recipients: jenkins+debian-boot holger@layer-acht.org - - htmlpublisher: - name: 'Daily d-i build logs' - directory: '.' - indexfiles: 'build-logs.html' - keepall: True - - job-template: defaults: d-i name: '{name}_check_jenkins_jobs' @@ -836,7 +815,6 @@ do_not_edit: '

    Job configuration source is d-i.yaml.' jobs: - '{name}_housekeeping' - - '{name}_parse_build_logs' - '{name}_check_jenkins_jobs' - '{name}_manual': include: '/trunk/manual/debian/.* -- cgit v1.2.3-70-g09d2