- 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 testpackage_build_logs``(:ref:`lookup-multiple, optional): the debian:package-build-log artifacts representing the build logs. Required if enable_blhc is Trueqa_suite(Single lookup, optional unlessupdate_qa_resultsorenable_debdiffis True): the debian:suite collection that reference tests are being run against to detect regressions or the collection to search for debdiff original packagesreference_qa_results(Single lookup, optional unlessupdate_qa_resultsis 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_resultswith 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; 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: allpackagesqa_suite(Single lookup, required ifenable_reverse_dependencies_autopkgtestis 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_installabilityis 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.enable_blhc(boolean, defaults to False): whether to includeblhctasks for the build logs
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_installabilityis set, a single CheckInstallability, 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 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_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.