Open mach6 opened 4 years ago
Update;
Consideration 2 (above) is addressed as of Drone v1.9.1 with drone/drone#2998 merged.
Also worth mentioning, I have been able to address consideration 1 (privately) by creating a / placing a webhook receiver in front of Drone. This webhook receiver asynchronously forwards the inbound requests to the Drone /hook
endpoint.
It should be noted (in the documentation?) that the following timeouts can impact the functionality of this extension. If you have a deeply nested source tree and/or large repository, you could encounter these.
Github expects a webhook response in 10 seconds. Drone calls this extension synchronously while processing the
/hook
request. If this extension takes longer than 10 seconds to respond, Github will close the connection which will trigger Drone to cancel the requestcontext
. This will result in no pipeline for the change.Drone gives all
config
extensions 1 minute to respond. If you are not subject to a timeout by the Drone/hook
caller (e.g. not GitHub) and if this extension takes longer than 1 minute to respond, Drone will cancel the requestcontext
resulting in aPost: {drone-tree-config address} context deadline exceeded
message in the Drone server logs. This will result in no pipeline for the change.These considerations are applicable only for whitelisted repo slugs, when the primary functions of this extension occur.