Workflow package_upload
This workflow signs and uploads source and/or binary packages to an upload queue. It is normally expected to be used as a sub-workflow.
task_data:source_artifact(Single lookup, optional): adebian:source-packageordebian:uploadartifact representing the source package (the former is used when the workflow is started based on a.dscrather than a.changes)binary_artifacts(Multiple lookup, optional): a list ofdebian:uploadartifacts representing the binary packagesmerge_uploads(boolean, defaults to False): if True, merge the uploads and create a singlePackageUploadtask to upload them all together; if False, create a separatePackageUploadtask for each uploadsince_version(string, optional): passed to MakeSourcePackageUpload task ifsource_artifactis adebian:source-packagetarget_distribution(string, optional): passed to MakeSourcePackageUpload task ifsource_artifactis adebian:source-packagekey(string, optional): the fingerprint to sign the upload with, which must have purposeopenpgprequire_signature(boolean, defaults to True): whether the upload must be signedtarget(required): the upload queue, as anftp://orsftp://URLdelayed_days(integer, optional): the number of days to delay this upload; this assumes that the upload queue implements Debian’s convention of uploading delayed uploads to aDELAYED/{n}-dayqueuevendor(string, optional): the distribution vendor to use for running MakeSourcePackageUpload task and MergeUploads taskcodename(string, optional): the distribution codename to use for running MakeSourcePackageUpload task and MergeUploads task
At least one of source_artifact and binary_artifacts must be set.
The workflow computes dynamic metadata as:
subject: source package names (separated by spaces) of
binary_artifactsandsource_artifact
The workflow creates the following tasks, each of which has a dependency on the previous one in sequence, using event reactions to store output in the workflow’s internal collection for use by later tasks:
if
source_artifactis adebian:source-packageartifact: a MakeSourcePackageUpload task (withsince_versionandtarget_distribution) to build a corresponding.changesfile Usesvendorandcodenameto construct the environment lookup.if
merge_uploadsis True and there is more than one source and/or binary artifact: a MergeUploads task to combine them into a single upload. Usesvendorandcodenameto construct the environment lookup.for each upload (or for the single merged upload, if merging):
if
keyis provided: a Debsign task to have Debusine sign the upload with the given keyif
keyis not provided andrequire_signatureis True: an ExternalDebsign task to wait until a user provides a signature, which Debusine will then include with the uploada PackageUpload task, to upload the result to the given upload queue