Commit 00ae28f2 authored by Holger Levsen's avatar Holger Levsen

reproducible: polishing various little things

parent b384d6e4
......@@ -3,7 +3,7 @@ Setup of jenkins.debian.net
:Author: Holger Levsen
:Authorinitials: holger
:EMail: holger@layer-acht.org
:Status: in progress
:Status: working, in progress
:lang: en
:Doctype: article
:Licence: GPLv2
......
......@@ -3,7 +3,7 @@ About jenkins.debian.net
:Author: Holger Levsen
:Authorinitials: holger
:EMail: holger@layer-acht.org
:Status: in progress
:Status: working, in progress
:lang: en
:Doctype: article
:Licence: GPLv2
......
......@@ -3,7 +3,7 @@ ToDo for jenkins.debian.net
:Author: Holger Levsen
:Authorinitials: holger
:EMail: holger@layer-acht.org
:Status: in progress
:Status: working, in progress
:lang: en
:Doctype: article
:Licence: GPLv2
......@@ -110,11 +110,23 @@ See link:https://jenkins.debian.net/userContent/about.html["about jenkins.debian
*** killer job is run before setup
*** scheduler and builder jobs are started after
* bugs
** fix check for Architecture, see FIXME in _builds.sh
*** once done, schedule hurd-libfuse
** when notes are removed the navigation pages are not updated... (touch note_new on create, then on next run delete on all navi pages for which note_new exists)
* CSS/HTML
** use iframes
** use font class=small statt size=+1
** use icons within index pages (refactor to get rid of that case statement, use array instead)
** use css class to mark packages with notes, underline them. explain HAS_NOTE on every page which has them...
* watch: zephyr (debbindiff timeout?)
* watch: haskell-hsql-odbc (debbindiff error only in jenkins log, not in rbuild log
* watch: cxxtest: dbd failure should be in rbuild output!
* watch: android: no debbindiff output?
* watch/fix: swig/subversion
* watch: swig/subversion (FTBFS, report note at least...)
* watch: hurd-libfuse: should be not for us
* generate .json for tracker.d.o
* reschedule all pkg tested before oct 06 00:00 UTC (we want to know if they generate .buildinfo files)
* reschedule all files with 0 length .rbuild.log files
......
......@@ -158,6 +158,8 @@ for SRCPACKAGE in ${PACKAGES} ; do
RBUILDLOG=/var/lib/jenkins/userContent/rbuild/${SRCPACKAGE}_${EVERSION}.rbuild.log
mv ${TMPLOG} ${RBUILDLOG}
# check whether the package is not for us...
# FIXME: needs to check for all packages, not just the first one
# FIXME: linux-any is valid too (but hurd-any not)
ARCH=$(grep "^Architecture: " ${SRCPACKAGE}_*.dsc| sort -r | head -1 | cut -d " " -f2-)
if [[ ! "$ARCH" =~ "amd64" ]] && [[ ! "$ARCH" =~ "all" ]] && [[ ! "$ARCH" =~ "any" ]] && [[ ! "$ARCH" =~ "linux-amd64" ]]; then
sqlite3 -init $INIT ${PACKAGES_DB} "REPLACE INTO source_packages VALUES (\"${SRCPACKAGE}\", \"${VERSION}\", \"not for us\", \"$DATE\")"
......
......@@ -35,7 +35,7 @@ EOF
# blacklist some packages
for PKG in linux cups zurl openclipart ; do
RESULT=$(sqlite3 -init $INIT $PACKAGES_DB " SELECT name FROM source_packages WHERE status = 'blacklisted' AND name = '$PGK'")
RESULT=$(sqlite3 -init $INIT $PACKAGES_DB " SELECT name FROM source_packages WHERE status = 'blacklisted' AND name = '$PKG'")
if [ "$RESULT" = "" ] ; then
sqlite3 -init $INIT $PACKAGES_DB "REPLACE into source_packages VALUES ('$PKG','0','blacklisted',date('now'))"
fi
......
......@@ -71,6 +71,8 @@ SPOKENTARGET["FTBFS"]="packages which failed to build from source"
SPOKENTARGET["404"]="packages where the sources failed to downloaded"
SPOKENTARGET["not_for_us"]="packages which should not be build on 'amd64'"
SPOKENTARGET["blacklisted"]="packages which have been blacklisted"
# shop trailing slash
JENKINS_URL=${JENKINS_URL:0:-1}
#
# gather notes
......@@ -276,7 +278,7 @@ EOF
set_icon() {
# icons taken from tango-icon-theme (0.8.90-5)
# licenced under http://creativecommons.org/licenses/publicdomain/
STATE_TARGET_NAME=$1
STATE_TARGET_NAME="$1"
case "$1" in
reproducible) ICON=weather-clear.png
;;
......@@ -292,7 +294,7 @@ set_icon() {
;;
404) ICON=weather-severe-alert.png
;;
not_for_us) ICON=weather-few-clouds-night.png
not*) ICON=weather-few-clouds-night.png
;;
blacklisted) ICON=error.png
;;
......@@ -399,7 +401,7 @@ write_summary_header() {
if [ "$1" = "$MAINVIEW" ] ; then
write_summary "<p>These pages are updated every six hours. Results are obtained from <a href=\"$JENKINS_URL/view/reproducible\">several build jobs running on jenkins.debian.net</a>. Thanks to <a href=\"https://www.profitbricks.com\">Profitbricks</a> for donating the virtual machine it's running on!</p>"
fi
write_summary "<p>$COUNT_TOTAL packages attempted to build so far, that's $PERCENT_TOTAL% of $AMOUNT source packages in Debian $SUITE currently. Out of these, $PERCENT_GOOD% were successful, so quite wildly guessing this roughy means about $GUESS_GOOD <a href=\"https://wiki.debian.org/ReproducibleBuilds\">packages should be reproducibly buildable!</a>"
write_summary "<p>$COUNT_TOTAL packages have been attempted to be build so far, that's $PERCENT_TOTAL% of $AMOUNT source packages in Debian $SUITE currently. Out of these, $PERCENT_GOOD% were successful, so quite wildly guessing this roughy means about $GUESS_GOOD <a href=\"https://wiki.debian.org/ReproducibleBuilds\">packages should be reproducibly buildable!</a>"
if [ "${1:0:3}" = "all" ] || [ "$1" = "dd-list" ] ; then
write_summary " Join <code>#debian-reproducible</code> on OFTC to get support for making sure your packages build reproducibly too!"
fi
......@@ -426,7 +428,7 @@ write_summary_header() {
}
write_summary_footer() {
write_summary "<hr/><p><font size='-1'><a href=\"$JENKINS_URL/userContent/reproducible.html\">Static URL for this page.</a> Last modified: $(date). Copyright 2014 <a href=\"mailto:holger@layer-acht.org\">Holger Levsen</a>, GPL-2 licensed. <a href=\"https://jenkins.debian.net/userContent/about.html\">About jenkins.debian.net</a>. Weather icons are taken from the <a href="http://tango.freedesktop.org/Tango_Icon_Library" target="_blank">Tango Icon Library</a>.</font>"
write_summary "<hr/><p><font size='-1'><a href=\"$JENKINS_URL/userContent/about.html\">About jenkins.debian.net</a>, about <a href=\"https://wiki.debian.org/ReproducibleBuilds\"> reproducible builds of Debian</a> and <a href=\"$JENKINS_URL/userContent/reproducible.html\">overview of reproducible build results on jenkins.d.n</a>. Last update: $(date). Copyright 2014 <a href=\"mailto:holger@layer-acht.org\">Holger Levsen</a>, GPL-2 licensed. The weather icons are public domain and have been taken from the <a href="http://tango.freedesktop.org/Tango_Icon_Library" target="_blank">Tango Icon Library</a>.</font>"
write_summary "</p></body></html>"
}
......@@ -579,4 +581,4 @@ for STATE in $ALLSTATES ; do
publish_summary
done
echo "Enjoy https://jenkins.debian.net/userContent/reproducible.html"
echo "Enjoy $JENKINS_URL/userContent/reproducible.html"
......@@ -16,7 +16,7 @@
url: http://www.profitbricks.com
text: Sponsored by Profitbricks
icon: /userContent/images/profitbricks-24x24.png
description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds statistics</a> page.'
description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds overview</a> pages.'
logrotate:
daysToKeep: 365
numToKeep: 20
......@@ -56,7 +56,7 @@
option: category
categories:
- reproducible
description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds statistics</a> page.'
description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds overview</a> pages.'
logrotate:
daysToKeep: 365
numToKeep: 20
......@@ -91,7 +91,7 @@
url: http://www.profitbricks.com
text: Sponsored by Profitbricks
icon: /userContent/images/profitbricks-24x24.png
description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds statistics</a> page.'
description: '{my_description}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/tree/job-cfg/reproducible.yaml">reproducible.yaml</a>.<br>Results are available at the <a href="https://jenkins.debian.net/userContent/reproducible.html">reproducible builds overview</a> pages.'
logrotate:
daysToKeep: 365
numToKeep: 20
......@@ -103,7 +103,7 @@
- email:
recipients: 'jenkins+debian-reproducible holger@layer-acht.org'
- htmlpublisher:
name: 'Reproducible builds statistics'
name: 'Reproducible build overview'
directory: '.'
indexfiles: 'reproducible.html'
keepall: True
......@@ -143,7 +143,7 @@
my_timed: '42 0 * * *'
my_shell: '/srv/jenkins/bin/reproducible_setup.sh'
- '{name}_stats':
my_description: 'Reproducible builds statistics'
my_description: 'Generates HTML results for reproducible builds.'
my_timed: '0 0,6,12,18 * * *'
my_shell: '/srv/jenkins/bin/reproducible_stats.sh'
- '{name}_build_random_packages':
......@@ -163,6 +163,7 @@
my_params: 'candidates 20'
- '{name}_scheduler':
my_description: 'Schedule packages to be tested on reproducible building.'
my_timed: '23 * * * *'
# my_timed: '23 * * * *'
my_timed: ''
my_shell: '/srv/jenkins/bin/reproducible_scheduler.sh'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment