-
Notifications
You must be signed in to change notification settings - Fork 14
/
AUTOBUILD
62 lines (43 loc) · 1.73 KB
/
AUTOBUILD
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
Autobuilding
------------
To provide a means of continuous integration we need to have some system
in place which will easily allow ourselves (and others) to automatically
checkout the current repository and execute a build of our packages.
This build-process should be 100% automatic, and should allow us to be
alerted of failures via Email notications.
Setup
=====
The autobuilding is done by sbuild using a series of basic pre-deployed
chroots. These chroots are set up by mk-sbuild-lv which is stolen from the
ubuntu-dev-tools, but perfectly usable under Debian.
In order to build successfully, the following packages are required on the
autobuild host itself (not the chroots):
* rake
* dpkg-dev
* gpg
* sbuild
Then to build, the Rakefile in the repository can be used. To see the
available tasks, run `rake -T'.
In summary:
* rake all : builds all packages
* rake upload : copies packages to $HOME/htdocs/
Steps for Autobuilding and C-I
==============================
* Use old dedicated (AMD64) box as a autobuild host
* Post-commit hook to build packages on autobuild host
--> email dev-list on error
* If the build succeeds, create new dated repo with packages.
--> Link /autobuild/current -> /autobuild/YYYYMMDD-HH:MM so that
the most recent is available.
--> Remove builds older than one month.
* Deploy a new VM on the machine, using the current Symbiosis image on the
imager.
* Once installed, and upgraded to the current stable packages, run tests.
--> email dev-list if these tests fail
* If tests pass, upgrade to newly built packages, run tests
--> email dev-list if these tests fail
* If tests pass, remove machine.
Bits that are missing
=====================
* No emails on failure
* No auto-testing VM set up