summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2014-09-25 19:17:18 +0200
committerHolger Levsen <holger@layer-acht.org>2014-09-25 19:17:18 +0200
commit8663bd620599700c702556e841b9a31a86ed07d6 (patch)
treeca30091c7781a755df9a571be4843e836880dcf3
parent644f90c95233973c492fe0bd940881e6efa8cd1a (diff)
downloadjenkins.debian.net-8663bd620599700c702556e841b9a31a86ed07d6.tar.xz
trigger reproducible jobs twice a months
-rw-r--r--TODO4
-rwxr-xr-xbin/reproducible_build.sh2
-rw-r--r--job-cfg/reproducible.yaml16
3 files changed, 16 insertions, 6 deletions
diff --git a/TODO b/TODO
index 8172ede7..ad960a78 100644
--- a/TODO
+++ b/TODO
@@ -100,10 +100,6 @@ general
=== reproducible
* split desktop job in 7
-* time+job based triggers reproducible build jobs:
-** setup: time based
-** example_good: triggered by setup
-** core and all other: triggered by exampled_good
* use git repo in job config?
* document this on https://wiki.debian.org/ReproducibleBuilds
* investigate packages not in sid from https://jenkins.debian.net/view/reproducible/job/reproducible_build_d-i/lastBuild/console - the list was taken from the jenkins d-i jobs...
diff --git a/bin/reproducible_build.sh b/bin/reproducible_build.sh
index 00e1372c..7861078b 100755
--- a/bin/reproducible_build.sh
+++ b/bin/reproducible_build.sh
@@ -63,10 +63,12 @@ for SRCPACKAGE in "$@" ; do
echo "${SRCPACKAGE} built successfully and reproducibly."
let "COUNT_GOOD=COUNT_GOOD+1"
GOOD="${SRCPACKAGE} ${GOOD}"
+ touch results/___.dummy.log # not having any bad logs is not a reason for failure
else
echo "Warning: ${SRCPACKAGE} failed to build reproducibly."
let "COUNT_BAD=COUNT_BAD+1"
BAD="${SRCPACKAGE} ${BAD}"
+ rm -f results/dummy.log 2>/dev/null # just cleanup
fi
rm b1 b2 -rf
fi
diff --git a/job-cfg/reproducible.yaml b/job-cfg/reproducible.yaml
index e981c33e..b4a7d720 100644
--- a/job-cfg/reproducible.yaml
+++ b/job-cfg/reproducible.yaml
@@ -1,5 +1,7 @@
- defaults:
name: reproducible
+ triggers:
+ - timed: "{my_timed}"
project-type: freestyle
properties:
- sidebar:
@@ -25,8 +27,8 @@
- reproducible
description: '{my_description}{my_packages}<br>Job configuration source is <a href="http://anonscm.debian.org/cgit/qa/jenkins.debian.net.git/job-cfg/reproducible.yaml">reproducible.yaml</a>.'
logrotate:
- daysToKeep: 180
- numToKeep: 100
+ daysToKeep: 365
+ numToKeep: 20
artifactDaysToKeep: -1
artifactNumToKeep: -1
builders:
@@ -87,42 +89,52 @@
jobs:
- '{name}_setup':
my_description: 'Setup pbuilder for reproducible builds as described in https://wiki.debian.org/ReproducibleBuilds#Usage_example'
+ my_timed: '42 0 * * *'
my_shell: '/srv/jenkins/bin/reproducible_setup.sh'
my_packages: ''
- '{name}_build_test_reproducibility':
my_description: 'Reproducible build of a few packages, some we know will succeed and some we know which "should" fail: '
+ my_timed: ''
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'lsb ucf lsof'
- '{name}_build_core':
my_description: 'Reproducible build of all the core packages as defined by UDD as described in https://wiki.debian.org/ReproducibleBuilds so these: '
+ my_timed: '42 5 1,16 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'acl adduser attr audit base-files base-passwd bash binutils bsdmainutils bzip2 cdebconf cloog coreutils cryptsetup dash db5.3 dbus debconf debhelper debianutils dh-buildinfo diffutils dpkg e2fsprogs eglibc file findutils gcc-4.9 gcc-defaults gdbm gettext glib2.0 glibc gmp grep groff gzip hostname init-system-helpers insserv intltool-debian isl kmod libcap2 libcroco libffi libgcrypt11 libgcrypt20 libgpg-error libintl-perl libpipeline libselinux libsemanage libsepol libtext-unidecode-perl libtimedate-perl libunistring libxml2 libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl linux lsb lvm2 make-dfsg man-db mawk mpclib3 mpfr4 ncurses pam patch pcre3 perl po-debconf procps sed sensible-utils shadow startpar systemd sysvinit tar tcp-wrappers texinfo tzdata ucf ustr util-linux xz-utils zlib'
- '{name}_build_build-tools':
my_description: 'Reproducible build packages which are used to build other packages.<br>Source packages to be build: '
+ my_timed: '42 23 1,16 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'eglibc gcc-defaults make-dfsg dpkg python python3 ruby ghc php5 tcl asciidoc'
- '{name}_build_desktop':
my_description: 'Reproducible build of the six major desktops and associated packages: '
+ my_timed: '42 5 2,17 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'abiword alacarte asciidoc avahi calligra cheese chromium-browser cinnamon cinnamon-control-center cinnamon-desktop cinnamon-desktop-environment gobby-0.5 cinnamon-screensaver cinnamon-session cinnamon-settings-daemon cinnamon-translations cups cups-pk-helper desktop-base devscripts emacs-defaults evince evolution galculator gdm3 gedit-plugins gimp gnome-color-manager gnome-documents gnome-main-menu gnome-media gnome-nettool gnome-orca gnome-shell-extensions gnome-tweak-tool gnumeric gpicview gst-libav1.0 gst-plugins-ugly1.0 gtk2-engines-xfce hamster-applet iceweasel inkscape irssi kdeartwork kde-baseapps kde-l10n kdepim kdeplasma-addons kde-runtime kdewebdev kde-workspace leafpad libgtk2-perl libxfce4ui lxappearance lxde-icon-theme lxde-metapackages lxinput lxrandr lxsession-edit lxshortcut lxterminal mate-applets mate-backgrounds mate-common mate-control-center mate-desktop mate-desktop-environment mate-icon-theme mate-icon-theme-faenza mate-indicator-applet mate-media mate-menus mate-netbook mate-netspeed mate-notification-daemon mate-panel mate-polkit mate-power-manager mate-screensaver mate-sensors-applet mate-session-manager mate-settings-daemon mate-system-monitor mate-terminal mate-themes mate-user-share mate-utils meta-gnome3 meta-kde mplayer2 screen mutt marble nautilus-sendto network-manager-applet obconf orage pidgin rhythmbox rygel seahorse shotwell simple-scan sound-juicer tango-icon-theme telepathy-gabble telepathy-rakia telepathy-salut texlive-base thunar thunar-volman tomboy totem tracker transmission udisks2 upower vim vinagre virt-manager vlc wine xarchiver xdg-user-dirs-gtk xfce4 xfce4-appfinder xfce4-mixer xfce4-notifyd xfce4-panel xfce4-power-manager xfce4-session xfce4-settings xfconf xfdesktop4 xfw virtualbox'
- '{name}_build_libreoffice':
my_description: 'Reproducible build of these libreoffice related packages: '
+ my_timed: '42 23 2,17 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'libreoffice'
- '{name}_build_xorg':
my_description: 'Reproducible build of these X.Org and and related packages: '
+ my_timed: '42 5 3,18 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'libglu mesa x11-apps x11-session-utils x11-utils x11-xfs-utils x11-xkb-utils x11-xserver-utils xauth xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable xfonts-utils xinit xkeyboard-config xorg xorg-docs xorg-server xserver-xorg-input-evdev xterm x-terminal-emulator glx-alternatives fglrx-driver xserver-xorg-video-nouveau xf86-input-mtrack xf86-input-multitouch xf86-input-wacom xserver-xorg-input-acecad xserver-xorg-input-aiptek xserver-xorg-input-elographics xserver-xorg-input-joystick xserver-xorg-input-keyboard xserver-xorg-input-mouse xserver-xorg-input-mutouch xserver-xorg-input-vmmouse xserver-xorg-input-void xf86-video-glamo xserver-xorg-video-ati xserver-xorg-video-cirrus xserver-xorg-video-dummy xserver-xorg-video-fbdev xserver-xorg-video-glide xserver-xorg-video-intel xserver-xorg-video-ivtvdev xserver-xorg-video-mach64 xserver-xorg-video-mga xserver-xorg-video-modesetting xserver-xorg-video-neomagic xserver-xorg-video-openchrome xserver-xorg-video-qxl xserver-xorg-video-r128 xserver-xorg-video-savage xserver-xorg-video-siliconmotion xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident xserver-xorg-video-vesa xserver-xorg-video-vmware xpra aterm mlterm mrxvt putty roxterm rxvt rxvt-unicode terminal.app'
- '{name}_build_server':
my_description: 'Reproducible build of these server packages: '
+ my_timed: '42 23 3,18 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'apache2 asterisk bind9 courier icinga icinga2 lighttpd munin mysql-5.5 nginx postfix postgresql squid3'
- '{name}_build_security-privacy':
my_description: 'Reproducible build of these security and privacy related packages: '
+ my_timed: '42 5 4,19 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'aircrack-ng apparmor apparmor-profiles-extra assword bilibop corkscrew cryptsetup debian-archive-keyring debian-security-support dmsetup flashproxy gnome-keyring gnunet gnunet-fuse gnunet-gtk gnupg gnupg2 gnutls28 haveged https-everywhere iodine irssi-plugin-otr keepassx libotr macchanger macchanger mat monkeysign monkeysphere mozilla-noscript msva-perl mumble nautilus-wipe obfs4proxy obfsproxy onioncat onionshare openssl openvpn parcimonie pidgin-otr pinentry privoxy pwgen python-pyptlib python-stem python-torctl python-txtorcon seahorse-nautilus secure-delete signing-party tcpdump tlsdate tor tor-arm torbrowser-launcher torsocks vidalia wireshark'
- '{name}_build_d-i':
my_description: 'Reproducible build of these debian-installer packages: '
+ my_timed: '42 23 4,19 * *'
my_shell: '/srv/jenkins/bin/reproducible_build.sh'
my_packages: 'aboot-installer anna apt-setup arcboot-installer auto-install base-installer bterm-unifont babelbox busybox cdebconf-entropy cdebconf-terminal cdebconf cdrom-checker cdrom-detect cdrom-retriever choose-mirror clock-setup colo-installer console-setup debian-installer-launcher debian-installer-netboot-images debian-installer-utils debian-installer debootstrap desktop-chooser devicetype-detect dh-di efi-reader elilo-installer etch-support finish-install flash-kernel grub-installer hw-detect installation-locale installation-report iso-scan kbd-chooser kernel-wedge kfreebsd-kernel-di-amd64 kfreebsd-kernel-di-i386 kickseed lenny-support libdebian-installer lilo-installer live-installer localechooser lowmem lvmcfg main-menu mdcfg media-retriever mklibs mountmedia net-retriever netboot-assistant netcfg network-console nobootloader oldsys-preseed os-prober palo-installer partconf partitioner partman-auto-crypto partman-auto-lvm partman-auto-raid partman-auto partman-base partman-basicfilesystems partman-basicmethods partman-btrfs partman-crypto partman-efi partman-ext2r0 partman-ext3 partman-iscsi partman-jfs partman-lvm partman-md partman-multipath partman-nbd partman-newworld partman-palo partman-partitioning partman-prep partman-reiserfs partman-target partman-ufs partman-xfs partman-zfs pkgsel prep-installer preseed quik-installer rescue rootskel-gtk rootskel s390-dasd s390-netdevice s390-sysconfig-writer sarge-support sibyl-installer silo-installer srm-reader tzsetup udpkg usb-discover user-setup userdevfs vmelilo-installer win32-loader yaboot-installer zipl-installer'