For some time there have been cloud-init daily builds at
https://code.launchpad.net/~cloud-init-dev/+recipe/cloud-init-daily
That was building upstream/master with the upstream/devel packaging branch
and publishing for zesty, yakkety, and xenial.
But for some time, the upstream ubuntu/xenial and ubuntu/yakkety have had
different packaging than the upstream/devel. That was because they had
small patches to change behavior of cloud-init for SRU reasons.
To my knowledge, the recipe building system cannot build for each release
from a different branch, so for now I have 3 recipes instead of 1.
https://code.launchpad.net/~cloud-init-dev/+recipe/cloud-init-daily-xenial
https://code.launchpad.net/~cloud-init-dev/+recipe/cloud-init-daily-yakkety
https://code.launchpad.net/~cloud-init-dev/+recipe/cloud-init-daily-devel
The recipe looks like:
# git-build-recipe format 0.4 deb-version {latest-tag}-{revno}-g{git-commit}-0ubuntu1+{revno:ubuntu-pkg}~trunk
lp:cloud-init master
merge ubuntu-pkg lp:cloud-init ubuntu/devel
They differ only in the 'devel' -> [xenial | yakkety]
I don't love the solution, but I think it ends up working best, outside of
having support in the recipe to substitute 'devel'.
I'm seeing upload errors at
https://code.launchpad.net/~cloud-init-dev/+recipe/cloud-init-daily-xenial
https://code.launchpad.net/~cloud-init-dev/+recipe/cloud-init-daily-yakkety