Debian Contious Integration
The Debian continuous integration (debci) is an automated
system that coordinates the execution of automated tests against packages
in the Debian system.
debci will continuously run
suites from source packages in the Debian archive.
FAQ for package maintainers
How do I get my package to have its test suite executed?
Testuites must be included in source packages as defined in the DEP-8 specification. In short.
The fact that the package has a test suite must be declared by adding a
Testsuite: autopkgtestentry to the source stanza in
tests are declared in
Please refer to the DEP-8 spec for details on how to declare your tests.
How exactly is the test suite executed?
Test suites are executed by autopkgtest. The version of autopkgtest used to execute the tests is shown in the log file for each test run.
How often are test suites executed?
The test suite for a source package will be executed:
when any package in the dependency chain of its binary packages changes;
when 1 month is passed since the test suite was run;
What exactly is the environment where the tests are run?
debci is designed to support several text execution backends.
The backend used for a test run is show in the corresponfing log file.
For the schroot backend:
The test chroot is a clean chroot, created with debootstrap with no extra arguments.
dpkg is configured to use the
--force-unsafe-iooption to speed up the installation of packages.
The chroot uses the debci profile, installed by the
How can I reproduce the test run locally?
NOTE: if you intend to run tests frequently, you should
apt-cacher-ng before anything else.
debci will notice the running proxy and will setup the testbed
to use it, so you won't have to wait for the download of each package
more than once.
Install a configure
$ sudo apt install debci $ sudo debci setup
/etc/schroot/chroot.d/debci-SUITE-ARCH (by default
ARCH is your
native architecture), and add your username to the
[...] users=debci,$YOUR_USERNAME [...] root=users=debci,$YOUR_USERNAME source-root=users=debci,$YOUR_USERNAME [...]
The following examples assume:
To run the test suite with of the package from the archive, you pass the source package name to adt-run:
$ adt-run --user debci --output-dir /tmp/output-dir SOURCEPACKAGE --- schroot debci-unstable-amd64
To run the test suite against locally-built packages, you
have to reference the binary packages and their corresponding
.dsc in the local filesystem.
$ adt-run --user debci --output-dir /tmp/output-dir \ /path/to/PACKAGE_x.y-z_amd64.deb [OTHER DEBS ...] \ /path/to/PACKAGE_x.y-z.dsc --- \ schroot debci-unstable-amd64
git clone https://alioth.debian.org/anonscm/git/collab-maint/debci.git
For maintainer queries and general discussion:
mailing list: firstname.lastname@example.org
#debian-qaon OFTC. Feel free to highlight
For the development of debci itself
mailing list: autopkgtest-devel
Copyright and Licensing information
Copyright © 2014 the debci development team.
debci is free software licensed under the GNU General Public License version 3 or later.