Skip to content

debian/all

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

Latest release

latest badge

Description

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

Usage

include:
  - component: git.ligo.org/computing/gitlab/components/debian/all@<VERSION>

Inputs

Input Default value Description
job_prefix "debian" Prefix to apply to all job names
debian_versions [bullseye, bookworm] Debian/Ubuntu versions to build/test, see Supported versions for details
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

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

Notes

Supported versions

See Supported versions in debian/build for details.

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.

Examples

Build and test a Python application on Debian

include:
  - component: git.ligo.org/computing/gitlab/components/python/sdist@0.1
    inputs:
      stage: source
  - component: git.ligo.org/computing/gitlab/components/debian/all@<VERSION>
    inputs:
      needs: [sdist]
      test_install: python3-pytest
      test_script:
        - python3 -m pytest --pyargs my_library.tests