- piuparts
Workflow piuparts
This workflow schedules piuparts checks for binaries built by 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): the debian:source-package or debian:upload artifact that built the binaries to be testedbinary_artifacts(Multiple lookup, required): see Piupartsqa_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 Piupartsenvironment(string, optional): the environment to run piuparts inextra_repositories(optional): see Piupartsarchitectures(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: allpackages
The workflow computes dynamic metadata as:
subject: source package names of
binary_artifactsseparated by spacesparameter_summary: “subject” in
vendor:codename
piuparts will be run on the intersection of the provided list of
architectures (if any) and the architectures provided in
binary_artifacts, in each case grouping arch-all + arch-any together.
If only Architecture: all binary packages are provided in
binary_artifacts, then piuparts will be run once for arch-all on
{arch_all_host_architecture}.
The workflow creates a Piuparts task for each concrete architecture, with task data:
input.binary_artifacts: the subset of{binary_artifacts}that are for the concrete architecture orallhost_architecture: the concrete architecture, or{arch_all_host_architecture}if onlyArchitecture: allbinary packages are being checked by this taskenvironment:{environment}if specified, falling back to{vendor}/match:codename={codename}base_tgz:{vendor}/match:codename={codename}backend:{backend}extra_repositoriescopied from the workflow task, and extended with overlay repositories (e.g.experimental) ifcodenameis a known overlay.
Any of the lookups in input.binary_artifacts may result in
, and in that case the workflow adds
corresponding dependencies. Binary promises must include an
architecture field in their data.
Todo
It would be useful to have a mechanism to control multiarch tests, such as testing i386 packages on an amd64 testbed.
Todo
It would be useful to be able to set base_tgz separately from
environment.