Workflow piuparts
This workflow schedules piuparts checks for binaries built by a single
source package on a set of architectures.
task_data:binary_artifacts(Multiple lookup, required): see Piuparts taskvendor(string, required): the distribution vendor on which to run testscodename(string, required): the distribution codename on which to run testsbackend(string, optional): see Piuparts taskenvironment(string, optional): the environment to run piuparts inextra_repositories(optional): see Piuparts taskarchitectures(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 spaces
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
promises, 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.