Workflow qa
task_data:source_artifact(Single lookup, required): thedebian:source-packageordebian:uploadartifact representing the source package to testbinary_artifacts(Multiple lookup, required): thedebian:binary-packagesordebian:uploadartifacts 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; whilearchitecturesis 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: allpackagesenable_check_installability(boolean, defaults to True): whether to include installability-checking taskscheck_installability_suite(Single lookup, required ifenable_check_installabilityis True): thedebian:suitecollection 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_autopkgtestis True): thedebian:suitecollection 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 taskpiuparts_environment(string, optional): the environment to run piuparts in
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 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_installabilityis set, a single CheckInstallability task, with task data:suite:{check_installability_suite}binary_artifacts: the subset of the lookup in this workflow’sbinary_artifactsfor each available architecture
if
enable_autopkgtestis set, an autopkgtest sub-workflow, with task data:source_artifact:{source_artifact}binary_artifacts: the subset of the lookup in this workflow’sbinary_artifactsfor each ofalland 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_autopkgtestis 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_artifactsfor each ofalland 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_lintianis set, a lintian sub-workflow, with task data:source_artifact:{source_artifact}binary_artifacts: the subset of the lookup in this workflow’sbinary_artifactsfor each ofalland 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_piupartsis set, a piuparts sub-workflow, with task data:binary_artifacts: the subset of the lookup in this workflow’sbinary_artifactsfor each ofalland 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.