Page MenuHomePhabricator

reprepro: automate incoming processing
Open, MediumPublic

Description

It would be great to improve a bit our packaging workflow for our reprepro service.
One simple improvement would be to automate the incoming package processing: https://wikitech.wikimedia.org/wiki/Reprepro#Automatically_import_files_from_an_incoming/_directory

This quick & simple script can give an idea of what I'm thinking of:

set -e
reprepro processincoming default
reprepro export
rm -rf /srv/wikimedia/conf/incoming/*

This can run on systemd timer/cron in the install servers every X minutes.

Of course we can add additional code for logging, accountability, etc:

  • check that /srv/wikimedia/conf/incoming exists
  • check that only .changes|.deb|.dsc and related files are present in /srv/wikimedia/conf/incoming
  • check that all files were processed by reprepro
  • email what has been done (reprepro does this already anyway)

If one of these checks fail, we can send an email to root@.

The workflow for packaging would end up being something like:

  • build package (sbuild, whatever)
  • check it, sign it, etc
  • run dupload --to wmf pkg.changes (as described in https://wikitech.wikimedia.org/wiki/Reprepro#dupload)
  • just wait and see your package being added to the repo (instead of manually jumping to the install server and doing what the script is doing, but by hand)