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 autopkgtest test 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.

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:

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:

How can I reproduce the test run locally?

NOTE: if you intend to run tests frequently, you should consider installing 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 debci

$ sudo apt install debci
$ sudo debci setup

Now edit /etc/schroot/chroot.d/debci-SUITE-ARCH (by default SUITE is unstable and ARCH is your native architecture), and add your username to the users, root-users and source-root-users configuration keys:

[...]
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

Reporting Bugs

Please report bugs against the debci package in the Debian BTS.

Developer information

Contact

For maintainer queries and general discussion:

For the development of debci itself

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.