summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 64884d12694bb563a69fc4663d4ecc80987085fb (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
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 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.
* some stats are available at http://jenkins.debian.net/munin/jenkins-month.html

== More tests to be run


=== Tests for supporting d-i development:

* build the manual on every 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).

=== 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 installations 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 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/

== General ToDo

* get rid of some reduncacy in job-cfg/*.yaml and also fix the FIXMEs there
* add documentation for jenkins-job-builder and send pull requests on github:
** publisher:logparse
** publisher:htmlpublisher
** svn:scm
** properties: sidebar
* mail notifications (to where?)
* proper backup (=daily), see bottom of this document for what to backup
* split TODO and about.txt?
** use debian stylesheet
* proper git repo url, outside users/holger
** http://anonscm.debian.org/gitweb/?p=users/holger/jenkins.debian.net.git
* only trigger (=really run) jobs if available+used packages have changed (save packages in db and compare)

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

* jenkins.debian.net runs Debian wheezy.
* FIXME: describe how jenkins is installed + configured, basically put 'deb http://pkg.jenkins-ci.org/debian-stable binary/' into '/etc/apt/sources.list.d/jenkins.list' and `apt-get update`
* 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 that git repo 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`
** actually https://github.com/h01ger/jenkins-job-builder is used atm.

=== 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