Branch listener

Purpose:

  • Track MPs and the trunks for the components involved in a ticket. tarmac-ish.

Requirements

https://bugs.launchpad.net/tarmac/+bug/1253770

  • Determine when an MP has been updated and run tests accordingly.
  • Given a trunk branch, return a list of all MPs available.
  • Given an MP and a revision ID, check and merge.
  • Apply tests to non-Approved branches and after any update/commit.

Tarmac meets most of our needs.

Service Requirements (Juju)

  • Read access to LP.
  • MP comment write access to LP.
  • Tarmac installed (currently the stable release is being investigated but a fork might be in order)

Proposed API

Inbound

  • check_branch/?branch=<branch>[&revision=<revision>]
  • merge_branch/?branch=<branch>[&revision=<revision>]

Outbound

Currently all outbound APIs will be those tarmac already uses.