- autopkgtest
Workflow autopkgtest
This workflow schedules autopkgtests for a single source package on a set of architectures.
task_data:prefix(string, optional): prefix this string to the item names provided in the internal collectionreference_prefix(string, optional unlessenable_regression_trackingis set): prefix for the item names provided in the internal collection in the corresponding workflow run for reference testssource_artifact(Single lookup, required): see Autopkgtestbinary_artifacts(Multiple lookup, required): see Autopkgtestcontext_artifacts(Multiple lookup, optional): see Autopkgtestqa_suite(Single lookup, optional unlessenable_regression_trackingorupdate_qa_resultsis True): the debian:suite collection that reference tests are being run against to detect regressionsreference_qa_results(Single lookup, optional unlessenable_regression_trackingorupdate_qa_resultsis True): the debian:qa-results collection that contains the reference results of QA tasks to use to detect regressionsenable_regression_tracking(boolean, defaults to False): configure the workflow to detect and display regressions in QA resultsupdate_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 testsbackend(string, optional): see Autopkgtestextra_repositories(optional): see Autopkgtestarchitectures(list of strings, optional): if set, only run on any of these architecture namesarch_all_host_architecture(string, defaults toamd64): concrete architecture on which to run tasks forArchitecture: allpackagesinclude_tests,exclude_tests,debug_level,extra_environment,needs_internet,fail_on,timeout: see Autopkgtest
The workflow computes dynamic metadata as:
subject: package name of
source_artifact
Tests will be run on the intersection of the provided list of architectures
(if any) and the architectures provided in binary_artifacts. If only
Architecture: all binary packages are provided in binary_artifacts,
then tests are run on {arch_all_host_architecture}.
The workflow creates an Autopkgtest for each concrete architecture, with task data:
input.source_artifact:{source_artifact}input.binary_artifacts: the subset of{binary_artifacts}that are for the concrete architecture orallinput.context_artifacts: the subset of{context_artifacts}that are for the concrete architecture orallhost_architecture: the concrete architectureenvironment:{vendor}/match:codename={codename}backend:{backend}extra_repositoriescopied from the workflow task, and extended with overlay repositories (e.g.experimental) ifcodenameis a known overlay.include_tests,exclude_tests,debug_level,extra_environment,needs_internet,fail_on,timeout: copied from workflow task data parameters of the same names
Any of the lookups in input.source_artifact, input.binary_artifacts,
or input.context_artifacts may result in , and in that case the workflow adds corresponding
dependencies. Binary promises must include an architecture field in
their data.
Each work request provides its debian:autopkgtest artifact as
output in the internal collection, using the item name
{prefix}autopkgtest-{architecture}.
Todo
It would be useful to have a mechanism to control multiarch tests, such as testing i386 packages on an amd64 testbed.