summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 63d55614cb165847f0051ca6b2f6fe3519827c1e (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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
ToDo for 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

See link:https://jenkins.debian.net/userContent/about.html["about jenkins.debian.net"].

== Fix user submitted bugs

* See https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=jenkins;users=qa.debian.org@packages.debian.org

== General ToDo

* move /srv/jenkins.debian.net-scm-sync.git somewhere public?
* keep git+svn urls, and use commit hooks. also better for test setups of this setup as well as overall stability.
** create d-i_svn_trigger job to trigger sub-set jobs (like manual)
** create d-i git hooks
* get rid of some reduncacy in job-cfg/*.yaml
* fully automate backup and backup /var/lib/jenkins/jobs /var/lib/munin /var/log /root/ too
* try awstats
* put kgb-client.conf in git and sed passwords from filesystem into it...
* push jenkins munin plugins upstream
* some way to map failing jobs to debian bugs and display that in the job.... (probably via a 2nd build step)

== Debian Packaging related

* /usr/sbin/jenkins.debian.net-setup needs to be written
* what update-j.d.n.sh does, needs to be put elsewhere...
* debian/copyright is incorrect about some licenses: a.) the profitbricks+debian+jenkins logos b.) the preseeding files
* better switch to scm trigger instead of scm pulling before releasing this as 0.1...

=== jenkins-job-builder related

* this seems to be helpful: http://en.wikipedia.org/wiki/YAML#References (pyyaml which jenkins-job-builder uses supports them)
* FIXME: sometimes true and some True used in yaml files
* support for gitweb in jobs 
** needs clean merge of my patches to jenkins-job-builder first...
* cleanup my patches (eg add documentation) and send pull requests on github:
** publisher:logparse
** publisher:htmlpublisher
** publisher:imagegallery
** svn:scm
** properties: sidebar
* d-i and chroot housekeeping jobs should be kept 365 days

== Improve existing tests

=== d-i_manual*

* svn:trunk/manual/po triggers the full build, should trigger language specific builds.
* svn:trunk/manual is all thats needed, not whole svn:trunk
* inform translators (and debian-boot for the package)

=== d-i_build*

* 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).
* build branches? (which?)
* inform debian-boot@ ?

=== chroot-installation_*

* inform debian-devel@
* "Hash Sum Mismatch" problem with squid, see https://jenkins.debian.net/job/chroot-installation_squeeze_install_developer_upgrade_to_wheezy/13/console
** pere says this is supposed to be fixed in squid3
* chroot-installation: only trigger (=really run) jobs if available+used packages have changed (save packages in db and compare)
*  warn about transitional packages installed (on non-upgrades only)

----
<pabs> h01ger: how about all of the blends?
<h01ger> pabs, if you could give me concrete (meta-)package names to install, that would be great+very helpful
<h01ger> for ^education* and ^debian-edu* i can find them myself
<pabs> h01ger: hmm, doesn't seem to be easy to find that list, but here are a few: ezgo-* med-* science-* junior-* gis-*
----

=== webchecks*

* inform debian-www@ ?

=== g-i-installation_*:

* babelbox.git has a nice langlist
* $name-preseed.base -> sed .cfg (LANG)
* for edu: pick LANG from predefined list at random - if last build was not successful or unstable fall back to English
** these jobs would not need to do an install, just booting them in rescue mode is probably enough

general

* test moar images: debian wheezy+sid cd and dvd images too and use lxde cd for installing lxde + etc
* use jigdo to download images - but no edu jigdo images.
* still havent got http://www.os-autoinst.org/ out of my mind

=== reproducible

* 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...
* pbuilder results cleanup
* pbuilder cleanup cache
* put package results (name, version, result) in an sqlite db
** only reschedule successful packages with 25% probability, always reschedule failed package, reschedule successful packages in a new version with 75% approx
** new job: 99-random: build 99 random packages each day
** graph number of reproducible packages

=== Test Debian live

* daily build from sid
* test live images from http://live.debian.net/cdimage/release/current-next and .../current

== Add more tests

=== Test more Debian Edu related things

* manual - by language and full
* build a cd-image from all edu packages (even (and especially) UNRELEASED ones and do a g-i-installation test with it
** this probably better is done after the edu packages has been switched to git and when edu cd are (also?) build on pettersson.d.o
** also because it's probably better to do this with unmodified d-i first :-)
* test minimal and sugar profile, as well as gnome and lxde
* test dvd. test amd64 +i386 chroot setup.

=== Test tasks:

* test installations with (at least) more language tasks enabled, though tasksel doesn't work like this:

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

Help explaining how to test tasks (ie all the language tasks) very much welcome!

=== Test co-installability

----
<jwilk> Install everything with priority >= optional? These packages are not supposed to conflict with each other. </wishful-thinking>
<h01ger> jwilk, there are tools to detect these package sets just based on debian/control information. no need to test this every day by installing them :)
<h01ger> running these tools daily OTOH...
<h01ger> http://coinst.irill.org/
----

=== Test them all

* build packages from all team repos on alioth with jenkins-debian-glue on team request (eg, via a .txt file in a git.repo) for specific branches (which shall also be automated, eg. to be able to only have squeeze+sid branches build, but not all other branches.)


// vim: set filetype=asciidoc: