Skip to content

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 MakeSourcePackageUpload worker task (unpack source and run dpkg-genchanges on it) (!1099 (merged))
  • Implement MergeUploads worker task (run mergechanges or equivalent on multiple uploads) (!1117 (merged))
  • Implement Debsign signing task (!1094 (merged))
  • Implement ExternalDebsign wait task (does nothing on execution, but needs a data model; !1095 (merged))
  • Implement external-debsign work request view (!1102 (merged))
  • Implement new client command to provide a signature for an ExternalDebsign work request (!1103 (merged))
  • Adjust web UI to show the client command to use to complete an ExternalDebsign work request (!1114 (merged))
  • Implement PackageUpload server task (equivalent of dput, though I suggest using ftplib for FTP and fabric for SFTP rather than needing a worker environment where we can run dput; !1108 (merged))
  • Implement package_upload workflow (!1151 (merged))
Edited by Carles Pina i Estany
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information