About jenkins.debian.net ======================== :Author: Holger Levsen :Authorinitials: holger :EMail: holger@layer-acht.org :Status: in progress :lang: en :Doctype: article :Licence: GPLv2 == About jenkins.debian.net http://jenkins.debian.net is *work in progress* and is in it's infancy as a tool for the automated quality monitoring of Debian. in existence since October 15th 2012. Get the source by running `git clone git://git.debian.org/git/users/holger/jenkins.debian.net.git`. It's all in there, no (relevant) manual setup has been done besides what's in this git repository. The (virtualized) hardware is sponsored by http://www.profitbricks.com - currently it's using 6 cores and 10 GB memory, thanks a lot! Some stats are available using link:http://jenkins.debian.net/munin/jenkins-month.html[munin-plugins for jenkins]. If you notice some jobs has problems and you want to find out why, read <> to learn how to do this locally. == Jobs being run Remember, this is still pretty much work in progress. If you can think of ways to improve the usefulness of certain jobs, please do give feedback! === g-i-installation jobs Installation tests with g-i, the graphical version of d-i, the debian-installer. * 'g-i-installation_debian_sid_daily-rescue' ** boot of rescue system with daily build sid image * 'g-i-installation_debian_sid_daily-lxde' and '-xfce' ** sid installation of Xfce/LXDE desktop with daily build sid image * 'g-i-installation_debian_jessie_lxde','-xfce','-kde' and '-gnome' and '-kfreebsd' ** jessie installation of Xfce/LXDE/KDE desktop and kfreebsd install with weekly build jessie image * 'g-i-installation_debian_wheezy_lxde','-xfce','-kde' and '-gnome' and '-kfreebsd' ** wheezy installation of Xfce/LXDE/KDE desktop and kfreebsd install with wheezy release image * 'g-i-installation_debian_squeeze_xfce' ** squeeze installation of Xfce desktop with squeeze image * Debian Edu installation tests of specific profiles and suites: ** 'g-i-installation_debian-edu_squeeze-test_standalone' ** 'g-i-installation_debian-edu_squeeze-test_workstation' ** 'g-i-installation_debian-edu_squeeze-test_combi-server' ** 'g-i-installation_debian-edu_wheezy-test_standalone' ** 'g-i-installation_debian-edu_wheezy-test_workstation' ** 'g-i-installation_debian-edu_wheezy-test_combi-server' === debian-installer jobs * 'd_i_build_$source_package' ** there is one job for each git repo referred to in http://anonscm.debian.org/viewvc/d-i/trunk/.mrconfig?view=co ** each job pdebuilds the master branch of its git repo on every git push in a sid environment. (If the architecture(s) specified in debian/control are not amd64,all or any the build exits cleanly.) ** while these jobs are triggered on commits, the SCM is only polled every 6min to see if there are new commits. * 'd_i_manual' ** builds the full installation-guide package with pdebuild in sid on every commit to svn://anonscm.debian.org/svn/d-i/ matching suitable patterns. ** while this job is triggered on commits, the SCM is only polled every 15min to see if there are new commits. * 'd_i_manual_$language_html' ** builds a language (on wheezy) on every commit of svn/trunk/manual/$LANG with `make languages=$LANG architectures=amd64 formats=html`. ** while these jobs are triggered on commits, the SCM is only polled every 15min to see if there are new commits. ** on successful build, 'd_i_manual_$lang_pdf' is triggered. * 'd_i_parse_build_logs' - parses logs from http://d-i.debian.org/daily-images/build-logs.html daily, to give them a bit more exposure. ** this job is run daily. === chroot-installation jobs Installation tests inside chroot environments. * 'chroot-installation_housekeeping_$distro': ** make sure chroots have been cleaned up properly ** runs daily at 05:00 UTC and triggers the $distro specific bootstrap job on success ** wheezy is only triggered on the 4th day and 18th of each month (as it was released on the 4th) ** squeeze only on the 25th of each month * $distro-bootstrap jobs: ** just `debootstrap $distro` (install a base Debian distribution $distro) ** there is one job for *sid*, one for *wheezy* and one for *jessie*: 'chroot-installation_sid_bootstrap', 'chroot-installation_wheezy_bootstrap' and 'chroot-installation_jessie_bootstrap' * plus there is 'chroot-installation_squeeze_bootstrap_upgrade_to_wheezy', which bootstraps *squeeze* and upgrades that to *wheezy* ** on successful run of the bootstrap job, six $distro-install(+upgrade) jobs are triggered. * FIXME: describe upgrade jobs here too * $distro-install jobs (and $distro-install+upgrade jobs): ** `debootstrap $distro`, install a *$set_of_packages* (and upgrade to *$2nd_distro*) ** these $set_of_packages exist: 'gnome', 'kde', 'kde-full', 'lxde', 'xfc', 'full_desktop' (all five desktops plus `vlc evince iceweasel chromium cups build-essential devscripts wine texlive-full asciidoc vim emacs` and (`libreoffice virt-manager mplayer2` (jessie/sid) or `openoffice virtualbox mplayer` (squeeze/wheezy)) and 'develop' *** install is done with `apt-get install`, except for 'develop' where `apt-get build-dep` is used to install the build dependencies of these packages. === lintian and ruby jobs * FIXME: describe lintian and ruby jobs === webcheck jobs * three jobs for running webcheck against www.debian.org, www.debian.org/News and www.debian.org/security * several webcheck jobs for running again various debconf.org websites These jobs are only run on the first day of each month. === self jobs These are jobs for making sure jenkins.debian.net is running smoothly. [[debug]] == Debugging certain jobs *FIXME*: To debug certain jobs, a jenkins setup is actually not needed. Make this easy and describe here. *This is work in progress too and is not full done yet!* Build this source as a debian package and install the jenkins.d.n-debug package and all it's recommends. === Debugging g-i-installation jobs as user run: ---- mkdir workspace ; cd workspace # test-script should check if they are in a directory called workspace and if not, mkdir it and cd into it. /srv/jenkins/bin/cd_tester.sh 2 squeeze-test-debian-edu-standalone 20 http://ftp.skolelinux.org/cd-squeeze-test-amd64-i386-netinst/debian-edu-amd64-i386-NETINST-1.iso ---- See the *fourth line* on *any* log to find out how to debug any job. Point this out at the end of any log. TODO: Currently as easy: svn/git using test-scripts need to learn checkout out - currently this is always done by jenkins. === Feedback I love to get feedback on this! Please send an email to debian-qa@lists.debian.org or just join #debian-qa on irc.debian.org to report bugs or give other feedback there! === Setup See link:http://jenkins.debian.net/userContent/setup.html[INSTALL]. === ToDo There is still a lot of work left, check the current link:http://jenkins.debian.net/userContent/todo.html[ToDo list]. == License * See link:http://anonscm.debian.org/gitweb/?p=users/holger/jenkins.debian.net.git;a=blob;f=LICENSE[LICENSE]. // vim: set filetype=asciidoc: