New checks API by GitHub!


#1

Something very useful that can be integrated with Drone!


#2

This is great. I wondered for a while why Github doesn’t innovate in the CI space, even thought about some browser extensions myself to hack on top of Github. It seems they are stepping up a bit. But will it take over most UI features of a CI system? The re-run button is a step for sure.


#3

@bradrydzewski this could be a huge deal if Drone were to support this :), only 2 CI systems supports it atm.

The hardest part I can see is triggering a single step, I guess in Drone’s case it would be a matter of having a set of global steps ( setup and co ) and runner steps.

If given a few development direction I can definitely look into working on this !


#4

The biggest blocker is that this feature is only available to Github Apps (e.g. not oauth apps) which looks to be a non-trivial change. So this is something that will need to be completed first. It is planned, but not something I have started working on yet.

The hardest part I can see is triggering a single step

The existing implementations (travis, etc) seem to only have a single check per build. If you look at the travis screenshot you will see they list each individual step in the details section (below). This means restarting the check will restart the entire build.


#5

Ah thanks for pointing this out !

It could be much better then :stuck_out_tongue:

Oh well I’ll take the opportunity to dig that Application vs oAuth stuff, see if I can poc something with plugins.


#6

Any news regarding Drone supporting Github Apps?
I mean, we can use the OAuth settings of a Github App for drone(at least theoretically), but that alone won’t make Drone “sensible” to the Checks API events…


#7

@s0undt3ch adding support for github checks is unfortunately a complex change on our end. First we have to support github apps [1], which behaves very differently than traditional github oauth, gogs, gitea, bitbucket, bitbucket server and gitlab. This means we have to refactor many of our internal abstractions and change how we do things like cloning code, webhooks, etc. This refactoring needs to be complete before we can begin working on github checks.

We have been making significant progress on the refactoring as part of our 1.0 release. The reason this feature request has not been completed sooner is scope of change, but also because we identified some other features that we felt were higher priority for our 1.0 release (multi-machine pipelines, multi-arch pipelines, native Kubernetes runners, native Nomad runners, etc). Most of these items are nearing completion as we approach our 1.0 release. I hope we can put more resources into github applications and checks in our 1.1 or 1.2 release cycle.

[1] https://github.com/drone/drone/issues/2422


#8

Thank You for the update.

Eventually I did find the GH issue you linked which I’m now following.
Thank You for the team’s hard work!


#9

thanks! I will reach out when we are ready to start implementing checks to get feedback on how everyone wants it to work :slight_smile: