summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 26899a78c121e3d5be23e589895328ab67dda444 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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

* This is pretty much work in progress, (hopefully) doing something useful since October 15th 2012
* Join #debian-qa on irc.debian.org to report bugs or give other feedback! Use debian-qa@lists.debian.org if you prefer mail.
* git clone git://git.debian.org/git/users/holger/jenkins.debian.net.git
* (virtual) hardware sponsored by http://www.profitbricks.com - currently it's just a server, but in future there will be installation and tests clients started on demand as well.

== General ToDo

* get rid of reduncacy in job-cfg/*.yaml and also fix the FIXMEs there
* add documentation for jenkins-job-builder:
** publisher:logparse
** svn:scm
* mail notifications (to where?)
* proper backup (=daily), see bottom of this document for what to backup

=== More minor stuff

* make job configuration visible to un-authenticated users
* squid has problems with SO_FAIL
* split TODO and about.txt?
* setup munin monitoring
** use debian stylesheet for about.html
** add sidebar links for all jobs
* proper git repo url, outside users/holger
* only trigger (=really run) jobs if available+used packages have changed (save packages in db and compare)

== More tests to be run

=== Test cd-images:

* start client VMs using the profitbricks API: https://www.profitbricks.com/us/media/docs/PB_PublicAPI_EN.pdf (and dhcp)
* to test (at first) weekly images of amd64 std,kde,lxde+xfce weekly and the first sid-di daily
** http://cdimage.debian.org/cdimage/weekly-builds/amd64/jigdo-cd/
** http://cdimage.debian.org/cdimage/daily-builds/sid_d-i/20121020-1/amd64/
* use jigdo to download those images

=== Test tasks:

* test installation with (at least) more language tasks enabled

----
<h01ger> how do i install a task outside d-i?
<h01ger> what interesting tasks are there?
<jcristau> tasksel install <task>
<daemonkeeper> h01ger:  http://packages.debian.org/source/sid/tasksel
----

(FIXME: tasksel doesn't work like this)

=== Tests for supporting d-i development:

* build the manual on every svn commit
** later: notify debian-boot@l.d.o and #debian-boot
* run scripts/digress/
* bubulle wrote: "Another interesting target would be d-i builds *including non uploaded packages* (something like "d-i from git repositories" images). That would in some way require to create a quite specific image, with all udebs (while netboot only has udebs needed before one gets a working network setup).

=== Tests using autopkgtest

* I aware but also lost, after looking at /usr/share/doc/autopkgtest/ - wanna help?
* https://wiki.ubuntu.com/AutomatedTesting has more information, but help is still welcome to implement this.
* finding packages with autopkgtests: http://lists.debian.org/debian-qa/2012/11/msg00012.html
** this only lists a few packages, so a very first test could be to compare this list against this: `wget -q http://http.debian.net/debian/dists/unstable/main/Contents-source.gz -O- | zgrep -m1 -E '^debian/tests/control\s'`, make a job out of it and make it UNSTABLE if the diff is non-zero. And as a second step, run those tests...
* also see http://dep.debian.net/deps/dep8/

== Installed software that makes jenkins.debian.net run

* jenkins.debian.net runs Debian wheezy.
* FIXME: how jenkins was installed + configured
* needed packages are listed in update_jdn.sh and which will also make sure they are installed
** update_jdn.sh is available in the git repo
* package configuration is kept in git and deployed by update_jdn.sh as well

=== Installing jenkins-job-builder
* rebuild python-jenkinsapi from sid for wheezy
* pip install python-jenkins
* git clone https://github.com/openstack-ci/jenkins-job-builder ; cd jenkins-job-builder ; python setup.py install

=== Using jenkins-job-builder

* then run 'cd /srv/jenkins/job-cfg ; jenkins-jobs update .' to update jobs
* testing: 'cd /srv/jenkins/job-cfg ; rm test-output/ -r ; mkdir test-output ; jenkins-jobs test . -o test-output/ ; ls test-output/'

== To backup

* /etc/.git 
* /var/lib/jenkins/config.xml as well as its plugins