Add task to upload build from debusine
Freexian would like to be able to run a debusine instance that runs package builds and uploads results to a Freexian repository (e.g. for ELTS). For this, we need an upload task. It needs to take SSH and GPG keys from somewhere yet to be defined, sign a build with the GPG key, and upload it to a given SFTP server. This would typically be integrated following an sbuild task as part of a workflow, rather than started manually.
Implementation checklist based on https://freexian-team.pages.debian.net/debusine/reference/devel-blueprints/package-upload.html:
-
Add TaskTypes.WAIT, and add minimal handling of it to the various places that consider task types (!1092 (merged)) -
Implement MakeSourcePackageUploadworker task (unpack source and rundpkg-genchangeson it) (!1099 (merged)) -
Implement MergeUploadsworker task (runmergechangesor equivalent on multiple uploads) (!1117 (merged)) -
Implement Debsignsigning task (!1094 (merged)) -
Implement ExternalDebsignwait task (does nothing on execution, but needs a data model; !1095 (merged)) -
Implement external-debsignwork request view (!1102 (merged)) -
Implement new client command to provide a signature for an ExternalDebsignwork request (!1103 (merged)) -
Adjust web UI to show the client command to use to complete an ExternalDebsignwork request (!1114 (merged)) -
Implement PackageUploadserver task (equivalent ofdput, though I suggest using ftplib for FTP and fabric for SFTP rather than needing a worker environment where we can rundput; !1108 (merged)) -
Implement package_uploadworkflow (!1151 (merged))
Edited by Carles Pina i Estany