- qa
Workflow qa
task_data
:prefix
(string, optional): prefix this string to the item names provided in the internal collectionsource_artifact
(Single lookup, required): the debian:source-package or debian:upload artifact representing the source package to testbinary_artifacts
(Multiple lookup, required): the debian:binary-package, debian:binary-packages, or debian:upload artifacts representing the binary packages to testqa_suite
(Single lookup, optional unlessupdate_qa_results
is True): the debian:suite collection that reference tests are being run against to detect regressionsreference_qa_results
(Single lookup, optional unlessupdate_qa_results
is True): the debian:qa-results collection that contains the reference results of QA tasks to use to detect regressionsupdate_qa_results
(boolean, defaults to False): when set to True, the workflow runs QA tasks and updates the collection passed inreference_qa_results
with the results.vendor
(string, required): the distribution vendor on which to run testscodename
(string, required): the distribution codename on which to run testsextra_repositories
(optional): see PackageBuildarchitectures
(list of strings, optional): if set, only run on any of these architecture namesarchitectures_allowlist
(list of strings, optional, either concrete architecture names orall
): if set, only run on any of these architecture names; whilearchitectures
is intended to be supplied by users or passed down from a higher-level workflow, this field is intended to be provided via Task configurationarchitectures_denylist
(list of strings, optional, either concrete architecture names orall
): if set, do not run on any of these architecture names; this field is intended to be provided via Task configurationarch_all_host_architecture
(string, defaults toamd64
): concrete architecture on which to run tasks forArchitecture: all
packagesqa_suite
(Single lookup, required ifenable_reverse_dependencies_autopkgtest
is True): the debian:suite collection to search for reverse-dependencies; once we have a good way to look up the primary suite for a vendor and codename, this could default to doing soenable_check_installability
(boolean, defaults to True): whether to include installability-checking taskscheck_installability_suite
(Single lookup, required ifenable_check_installability
is True): the debian:suite collection to check installability against; once we have a good way to look up the primary suite for a vendor and codename, this could default to doing soenable_autopkgtest
(boolean, defaults to True): whether to include autopkgtest tasksautopkgtest_backend
(string, optional): see Autopkgtestenable_reverse_dependencies_autopkgtest
(boolean, defaults to False): whether to include autopkgtest tasks for reverse-dependenciesenable_lintian
(boolean, defaults to True): whether to include lintian taskslintian_backend
(string, optional): see Lintianlintian_fail_on_severity
(string, optional): see Lintianenable_piuparts
(boolean, defaults to True): whether to include piuparts taskspiuparts_backend
(string, optional): see Piupartspiuparts_environment
(string, optional): the environment to run piuparts inenable_debdiff
(boolean, defaults to False): whether to include debdiff tasks for source and binary packages. Compares the supplied source package and the binary packages against the packages available in the distribution identified byqa_suite
.
The workflow computes dynamic metadata as:
subject: package name of
source_artifact
Any of the lookups in source_artifact
or binary_artifacts
may result
in , and in that case the workflow
adds corresponding dependencies. Binary promises must include an
architecture
field in their data.
The effective set of architectures is {architectures}
(defaulting to all
architectures supported by this Debusine instance and the
{vendor}:{codename}
suite, plus all
), intersecting
{architectures_allowlist}
if set, and subtracting
{architectures_denylist}
if set.
The workflow creates sub-workflows and tasks as follows, with substitutions based on its own task data:
if
enable_check_installability
is set, a single CheckInstallability, with task data:suite
:{check_installability_suite}
binary_artifacts
: the subset of the lookup in this workflow’sbinary_artifacts
for each available architecture
if
enable_autopkgtest
is set, an autopkgtest sub-workflow, with task data:source_artifact
:{source_artifact}
binary_artifacts
: the subset of the lookup in this workflow’sbinary_artifacts
for each ofall
and the concrete architecture in question that existvendor
:{vendor}
codename
:{codename}
backend
:{autopkgtest_backend}
architectures
: the effective set of architecturesarch_all_host_architecture
:{arch_all_host_architecture}
if
enable_reverse_dependencies_autopkgtest
is set, a reverse_dependencies_autopkgtest sub-workflow, with task data:source_artifact
:{source_artifact}
binary_artifacts
: the subset of the lookup in this workflow’sbinary_artifacts
for each ofall
and the concrete architecture in question that existqa_suite
:{qa_suite}
vendor
:{vendor}
codename
:{codename}
backend
:{autopkgtest_backend}
architectures
: the effective set of architecturesarch_all_host_architecture
:{arch_all_host_architecture}
if
enable_lintian
is set, a lintian sub-workflow, with task data:source_artifact
:{source_artifact}
binary_artifacts
: the subset of the lookup in this workflow’sbinary_artifacts
for each ofall
and the concrete architecture in question that existvendor
:{vendor}
codename
:{codename}
backend
:{lintian_backend}
architectures
: the effective set of architecturesarch_all_host_architecture
:{arch_all_host_architecture}
fail_on_severity
:{lintian_fail_on_severity}
if
enable_piuparts
is set, a piuparts sub-workflow, with task data:binary_artifacts
: the subset of the lookup in this workflow’sbinary_artifacts
for each ofall
and the concrete architecture in question that existvendor
:{vendor}
codename
:{codename}
backend
:{piuparts_backend}
architectures
: the effective set of architecturesarch_all_host_architecture
:{arch_all_host_architecture}
Todo
Not implemented: enable_check_installability
and
check_installability_suite
.