Page MenuHomePhabricator

Keep Dreaming Project | Adding Phabricator Support to Drone CI
Open, LowPublic

Description

Currently Drone does not support Phabricator.

However there has at least been some work done to implement it. There is also a Discourse thread about it.

Useful Links:
Drone SCM
Drone Login
Phabricator OAuth
Phabricator Harbormaster
Phabricator Jenkins Plugin

Event Timeline

zeigren triaged this task as Low priority.Jan 19 2020, 10:26 AM
zeigren created this task.

While I wasn't looking they added native support for CircleCI in Phabricator, I think this might only work for the paid version though.

I talk a bit about this in T61#968.

So there are five main parts to this equation.

  1. Drone needs to be able to authorize Phabricator users using OAuth.
  2. Phabricator needs to trigger Drone
  3. Drone needs to receive this trigger
  4. Drone needs to send some kind of response back to Phabricator
  5. Phabricator needs to receive this response

Some work has been done for 1 which is mentioned in the description.

Much like T58 a Herald rule can trigger Harbormaster to run a build when a commit is made. For 2 during the build process Harbormaster can trigger an HTTP request to Drone but as far as I can tell there isn't a way to customize what it sends. So for 3 either there will need to be a separate trigger for each repository or Drone will need to be able to query Phabricator.

For 4 and 5 Drone can send a webhook to Harbormaster which can wait to receive a HTTP response during the build process, but that only indicates a pass/fail. In order to get more context Drone would need to use the Conduit API.