Skip to content


Configure an end-to-end Debian build-and-test workflow for this project.


This component automatically configures a workflow to

  • build a Debian source package
  • build one-or-more Debian binary packages
  • install and test the new binary packages


  - component:<VERSION>


Input Default value Description
job_prefix "debian" Prefix to apply to all job names
debian_versions [bullseye, bookworm] Set of Debian versions to build/test
needs List of jobs whose artifacts are required to create the Debian source package (e.g. the job that created the project source distribution)"
source_distribution_name "*.tar.*" Name of the source distribution file
project_dir "." Project path that contains the relevant debian/ directory
add_changelog_entry true Add a changelog entry when building the Debian source package, see Adding changelog entries for more details
dpkg_source_options "" Options to pass to dpkg-source
dpkg_buildpackage_options "" Options to pass to dpkg-buildpackage
lintian_options See below Options to pass to lintian
test_install "" Extra packages to install to support the test_script
test_script Script commands to run as part of the debian test jobs
  • The default lintian_options value is

    ```text --pedantic --display-info --suppress-tags initial-upload-closes-no-bugs


Requires an upstream source distribution

Creating Debian packages is only supported when starting from an upstream tarball that contains a debian/ configuration directory.

This must be configured independently of this component and the tarball provided to the debian/source component via the needs input. See Examples for an example.

Adding changelog entries

See Adding changelog entries in debian/source for details.


Build and test a Python application on Debian

  - component:
      stage: source
  - component:<VERSION>
      needs: [sdist]
      test_install: python3-pytest
        - python3 -m pytest --pyargs my_library.tests