Workflow qa
task_data
:source_artifact
(Single lookup, required): thedebian:source-package
ordebian:upload
artifact representing the source package to testbinary_artifacts
(Multiple lookup, required): thedebian:binary-packages
ordebian:upload
artifacts representing the binary packages to testvendor
(string, required): the distribution vendor on which to run testscodename
(string, required): the distribution codename on which to run testsextra_repositories
(optional): see the Task 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
packagesenable_check_installability
(boolean, defaults to True): whether to include installability-checking taskscheck_installability_suite
(Single lookup, required ifenable_check_installability
is True): thedebian: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 Autopkgtest taskenable_reverse_dependencies_autopkgtest
(boolean, defaults to False): whether to include autopkgtest tasks for reverse-dependenciesreverse_dependencies_autopkgtest_suite
(Single lookup, required ifenable_reverse_dependencies_autopkgtest
is True): thedebian: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_lintian
(boolean, defaults to True): whether to include lintian taskslintian_backend
(string, optional): see Lintian tasklintian_fail_on_severity
(string, optional): see Lintian taskenable_piuparts
(boolean, defaults to True): whether to include piuparts taskspiuparts_backend
(string, optional): see Piuparts task
Any of the lookups in source_artifact
or binary_artifacts
may result
in promises, 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 task, 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 existsuite_collection
:{reverse_dependencies_autopkgtest_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
, check_installability_suite
,
enable_reverse_dependencies_autopkgtest
and reverse_dependencies_autopkgtest_suite
.