On Wed, Sep 7, 2011 at 11:29 AM, Hannes Magnusson < hannes.magnus...@gmail.com> wrote:
> On Wed, Sep 7, 2011 at 03:53, Ferenc Kovacs <tyr...@gmail.com> wrote: > > On Wed, Sep 7, 2011 at 3:29 AM, Stas Malyshev <smalys...@sugarcrm.com> > wrote: > >> Hi! > >> > >> Since we started to pay real attention to our unit tests now, I wonder > if we > >> could set up some kind of frequently-running CI system that could be > used to > >> screen commits and identify breakage early? That'd help with 5.4 > process I > >> think. > >> We have http://gcov.php.net/ but it doesn't run with the frequency I'd > like > >> and since it says the run takes 44 hours it's kind of understandable. > So I > >> wonder if we could have something that just builds it and runs unit > tests > >> and we could see it in the same format as on gcov? Ideally after each > commit > >> would be nice, but say once an hour or two (even fullest unit tests run > >> should take more than that, I think) would be OK too. If we could have > two > >> of them, like Linux & Windows, it'd be even better, but at least one > would > >> be nice. > >> What do you think? > >> -- > >> Stanislav Malyshev, Software Architect > >> SugarCRM: http://www.sugarcrm.com/ > >> (408)454-6900 ext. 227 > >> > >> -- > >> PHP Internals - PHP Runtime Development Mailing List > >> To unsubscribe, visit: http://www.php.net/unsub.php > >> > >> > > > > Hi, I also support the idea. > > I would suggest setting up a jenkins(ex-hudson) cluster, it is the > > leading CI product on the market (and a really successful open source > > project), and it is really well-known in the php community as well, > > and because I have used for my other projects in the past(not just for > > php, but for some C apps also). > > Jenkins supports having multiple slave instances running on different > > platforms, nicely bound together, so you only access the master > > instance through your browser, but the builds itself can be off-loaded > > to the slaves ( > > https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds ). > > I would be happy to help setting it up. > > We have wanted to setup some buildbots and testing environments for > years now, and I think we even have several boxes still laying around > for that purposes. > If you think you can handle the initial installation, go for it. > I'll see if I can hunt down the credentials somewhere. > > -Hannes > Hi. We ended up creating a Proof-of-concept Jenkins installation using the server which was originally planned( https://wiki.php.net/internals/buildbot<https://wiki.php.net/internals/buildbot?s[]=buildbot> ) to be used for the buildbot setup(obviously Hannes managed to get the credentials \o/), and created an RFC based on the current setup and the ways that it could be extended: https://wiki.php.net/rfc/jenkins Basically it continuously(when the are changes in SVN since the last build) builds our supported branches, runs the phpt testsuite(nicely integrated the test results with jenkins), and also executes the Symfony2 phpunit testsuite for each branch. I think that using Jenkins would be really useful, as it is takes care of the "hard" part of the CI process(distributed build support, integration with every QA tool out there), and the php community is pretty much familiar with it (at least those who are knew what the CI acronym means) plus it is easy to integrate the userland testsuites, as many of those projects already using Jenkins or phpunit, which is nicely integrated with Jenkins, thanks to Sebastian. We knew that Pierre and Dan is working on a distributed build/test environment also, so we are well aware the fact that our work is maybe redundant, or could end up as wasted, but we thought that it still worth the effort. Please check out the RFC, and if you have any question or opinion on the matter, feel free to discuss in this thread. Oh, and of course check out http://ci.qa.php.net/ -- Ferenc Kovács @Tyr43l - http://tyrael.hu