dancryer / PHPCI

PHPCI is a free and open source continuous integration tool specifically designed for PHP.
BSD 2-Clause "Simplified" License
2.42k stars 439 forks source link

interface plugins #67

Closed till closed 11 years ago

till commented 11 years ago

We'd like to extend the interface where we add links which are populated after a build is done. So for example, if I wanted to generate apidocs, code coverage, etc. then I add those plugins to my build definition (yaml).

The question is how I get to these reports from the interface. I could have them "external" — I'd rather iframe them in, or something.

Anyone have any thoughts on this?

till commented 11 years ago

No feedback? No thoughts?

dongilbert commented 11 years ago

I think it would be great to integrate those, but I'm thinking that an external link would work best for something like API Docs, whereas an iframe would work well for a coverage report.

dancryer commented 11 years ago

Hi @till - Sorry this was missed. I agree with you and @dongilbert, providing some way to get the data out would be useful.

That being said, PHPCI currently cleans up (and by that I mean deletes) everything it creates during the build, so we'd have to find a nice way of storing such things, and cleaning them up when builds are later deleted, etc.

Any ideas on implementation?

meadsteve commented 11 years ago

Well one option (unless I've missed the point) would be to implement some web hooks. So when the build is complete PHPCI posts to http://www.example,com/complete/{BuildName} . All the build data can be in the post body then we don't need to worry about storing anything for later.

So basically calling out rather than adding an API for calling in to. I've used this style of thing with SendGrid and it's worked quite nicely.

dongilbert commented 11 years ago

This is relevant: https://github.com/php-loep/phpunit-coverage-listener

It's a plugin that posts phpunit code coverage report data to a remote service. Building something like this into PHPCI would be useful, and it could be expanded upon to not only take coverage results, but also phpcs results much like scrutinzer.

tobiastom commented 11 years ago

@meadsteve Hooks are a fantastic idea, but I'm not sure if you really want the complete PHPDoc documentation attached to each hook. Maybe we should create a separate issue for this hooks anyway.

I'm really hoping for some solution to store (partial) build data permanently.

tobiastom commented 11 years ago

Any progress on this one? I'm in the middle of two projects right now so I do not have much time left, but a lot of things seems to be "blocked" by this one.

dancryer commented 11 years ago

Implemented. :)