Support a multi-process Danger with custom runners #340
Labels
enhancement
help wanted
Open for Discussion
You Can Do This
This idea is well spec'd and ready for a PR
OK, now bear with me.
1st, consider this. With Peril I created the ability to see the Danger DSL for any PR:
I did this so I could make better documentation inside danger.systems, but what would happen if this were formalised a bit, and inside danger instead of Peril?
Imagine that we add a new command:
danger process
.e.g.
danger process
- which would output the above JSON to STDOUT.Thennnn, we also make a standard in terms of the results. Today, Danger expects results in this form:
So what about if
danger process
could also take the above as STDIN. Now you can make a pipeline.It leaves the really gnarly work of handling different CIs, getting all the useful data from GitHub/GitLab/BitBucket/etc, amending/creating/deleting Dangerfiles to DangerJS. A Danger runner just need to take in a DSL as JSON, and output a results JSON to STDOUT.
This means, anyone, in any language could make a Danger runner. So, there can be Swift/Rust/Go/Whatever Dangerfiles in the future.
The text was updated successfully, but these errors were encountered: