summaryrefslogtreecommitdiffstats
path: root/TODO
blob: c81cbc942d4d6783c8a2e0cc8dfb5e71d9b2d36b (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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
ToDo for jenkins.debian.net
===========================
:Author:           Holger Levsen
:Authorinitials:   holger
:EMail:            holger@layer-acht.org
:Status:           working, 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 link:https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=jenkins;users=qa.debian.org@packages.debian.org[qa.debian.org bugs with usertag 'jenkins'] in the BTS.

== General ToDo

* get rid of FIXMEs in README. Really.
* turn job-cfg/g-i.yaml into .yaml.py
* split etc/schroot/default
* use cucumber+libvirt instead of g-i.sh
* download .isos once in central place
* use schroot for chroot-installation
* build packages using jenkins-debian-glue and not my hacks
* move /srv/jenkins.debian.net-scm-sync.git somewhere public?
* backup /var/lib/jenkins/jobs /var/lib/munin /var/log /root/ /var/lib/jenkins/reproducible.db too /var/lib/jenkins/plugins/*.jpi
* put kgb-client.conf in git and sed passwords from filesystem into it...
* turn udd-versionskew packages names into tracker.d.o links and provide version numbers in output too
* replace amd64 in scripts with $HOSTARCH
* g-i_presentation: use preseeding files on jenkins.d.n and not hands.com

=== jenkins-job-builder related

* use jessie version plus my patches from kali
* change of syntax:
----
properties:
  - priority-sorter:
      priority: 150
----
* this seems to be helpful: http://en.wikipedia.org/wiki/YAML#References (pyyaml which jenkins-job-builder uses supports them)
* cleanup my patches (eg add documentation) and send pull requests on github:
** publisher:logparse
** publisher:htmlpublisher
** svn:scm
** wrappers:live-screenshot

=== livescreenshot plugin

* publish forked livescreenshot plugin and send pull request for my bugfix

== lvc, work in progress, just started ==

* put this on debian isos too: config/chroot_local-includes/lib/live/config/9999-autotest

* re-read the docs! 

* generate feature files from templates? to cope with sub-products?
-> no. detect desktop type and set variables accordingly
-> simpler: pass an environment variable with the type

* get iso
* tables for looping through features: see tails/iuk.git/features/download_target_file/Download_Target_File.feature

* to debug cucumber: --verbose --backtrace --expand

* drop / remove
* can probably go: dhcp.rb firewall_leaks.rb dhcp.feature firewall_leaks.feature
* more occurances of "the computer boots Tails"
* @source (only keep product tests)

* disabled stuff in common_steps.rb
** #if @vm.execute("service tor status").success?

* "I set sudo password" not needed for debianlive nor debian(edu):
** #@screen.wait("TailsGreeterAdminPassword.png", 20)

* $misc_files_dir needed?
* def sort_isos_by_creation_date
  Dir.glob("#{Dir.pwd}/*.iso").sort_by {|f| tails_iso_creation_date(f)}
  -> useless for us, purpose is to automatically select the latest iso if none is given
* search case-in-sensitive for tails+tor+amnesia

* put in update_jdn.sh:
----
    addgroup tcpdump
    dpkg-statoverride --update --add root tcpdump 754 /usr/sbin/tcpdump
    setcap CAP_NET_RAW+eip /usr/sbin/tcpdump
    adduser $USER tcpdump
    adduser $USER libvirt
    adduser $USER libvirt-qemu
----

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

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

=== chroot-installation_*

* inform debian-devel@
* 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-*
----

* install all the tasks "instead", thats rather easy nowadays as all task packages are called "task*".

=== g-i-installation_*

* 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
* for edu mainservers running as servers for workstations etc: "d-i partman-auto/choose_recipe select atomic" to be able to use smaller disk images
** same usecase:  -monitor none -nographic -serial stdio  
** same usecase:  -snapshot maybe???

=== reproducible

* new pkg set: packages which had a dsa
* here is a weekly updated list of the transitively build-essential source packages in Sid: http://bootstrap.debian.net/source/stats_min.json

* check 0.52-1 is still not fixed: https://jenkins.debian.net/userContent/rb-pkg/debian-edu-artwork.html
* reschedule those with "debbindiff.py crashed" in rbuild.log and watch them build...

* run debbindiff against .changes files in current directory, instead of $LONGPATHES (due to #764459)
* reproducible: dont delete userContent/$pkg on build begin..

* cleanup _buildinfo files (without version)

* cleanup+rename:
** unschedule_from_db(  	(defined in build.sh...)
** process_packages()	(defined in common.sh...)
** force_package_targets() -> set_linktarget
** STAR?
* merge reproducible_setup_schroot in schroot-create or delete the latter?

* include no js header in the css
* one css, not 2
* graph oldest build age - in days
* mv untested field in stats table too? (as in csv output...)
* list removed packages, eg bobot++ (and remove them after a week automatically)

== Further ideas...

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

=== Test Debian live

* daily build from sid
* test live images from http://live.debian.net/

== Debian Packaging related

This setup should come as a Debian source package...

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

// vim: set filetype=asciidoc: