Debian packages can specify autopkgtest tests. These tests are run on infrastructure maintained by the Debian CI team (

There are two ways that the tests are run.

  1. unstable is tested via debci-batch from the debci package

  2. testing is tested by britney, the migration software maintained by the Release Team.

This page explains the latter setup.

For several years already, maintainers can add autopkgtest test cases to their packages, which are then run on the continuous integration platform on ci.d.n. debci, the framework that runs that site has an API to test individual packages from unstable in testing. britney (the software that determines which packages are allowed to migrate) uses this API to trigger tests for packages that are candidate for migration from unstable to testing and use the results to influence the required age in unstable before the package can migrate to testing. The idea is that a package that is candidate for migration is updated in testing to its candidate version and that the autopkgtest case(s) of the package and those of all reverse dependencies are run. Regression in the results with respect to the current situation in testing will add to the required time a package needs to be in unstable (via the age policy). This extra time can then be used to investigate the situation and file proper bugs to the appropriate package(s), if there is a bug somewhere. On the other hand, if a package has (a) successful autopkgtest(s) and no regression otherwise, it will be rewarded with a reduced required age. Information on what happens is added to the excuses.

It is the intention that in the (far) future regressions will become blocking for migration, but until then the added age will probably be raised over time as a semi-block.

There is one important note to make here on how to go about regressions in test cases from reverse dependencies. We recommend communication between the maintainers of the involved packages as one party has insight in what changed and the other party insight in what is being tested. More information is available in the britney documentation.

In case of issues, please contact the release team and ci team:

Note about migration-reference/0: this is a trigger that has special meaning for britney. britney keeps track of historical PASS results. If a regression migrates to testing britney doesn't know. However, when it encounters the result of a migratio-reference/0 trigger, it stores that as it current reference. These triggers are run with only packages from testing.

Delta to Ubuntu

People may have experience with the way Ubuntu runs the autopkgtests in their framework. There a couple of differences.