[katello-devel] Proposal - Better Continuous Integration

David Davis daviddavis at redhat.com
Tue Nov 20 14:31:55 UTC 2012


So I've added cane [1] to our project [2] which is like pylint for Ruby. Right now it's set up to check the ABC complexity of each function [3] and also it checks style (line length (120 chars), trailing white space, etc). I'm not too sure about using the ABC metric but the style metrics seems excellent. 

Also, cane is set to fail if we get above a certain threshold. It only takes about 10-20 seconds to scan the entire project so I really don't see a reason not to run it against each pull request.

[1] https://github.com/square/cane
[2] https://github.com/Katello/katello/pull/1086
[3] http://c2.com/cgi/wiki?AbcMetric

David

----- Original Message -----
> From: "Dmitri Dolguikh" <dmitri at redhat.com>
> To: katello-devel at redhat.com
> Sent: Tuesday, November 20, 2012 9:20:42 AM
> Subject: Re: [katello-devel] Proposal - Better Continuous Integration
> 
> On 20/11/12 01:25 PM, Petr Chalupa wrote:
> > I think we should spend some time on getting better continuous
> > integration. Travis is great but I think we need more than just
> > Unit
> > tests.
> >
> > What I would like to see for each pull-request to be run
> > - all unit tests
> > - building of rpms
> > - running katello-configure
> > - running system-tests (smoke tests)
> >
> > It would be also nice to have other thinks checked:
> > - number of chars per line
> > - pylint
> > - afaik there is some script to check gettext strings
> >
> > ## Benefits
> >
> > - a developer doesn't have to run these tests locally (which takes
> > time) until he is notified that something actually broke
> > - master will be much more stable, bugs are solved in pull-requests
> > by
> > theirs authors (faster), also bug finding scope is given by
> > introduced
> > changes (because master is fine)
> > - more stable nightly because master is stable
> > - less time spend on testing, bug-finding and nightly-fixing by
> > developers
> >
> > I think we should pay more attention to this and add story for next
> > sprint to get it fixed.
> >
> > "As a developer I would really like to have CI for each
> > pull-request."
> >
> > Petr
> >
> > _______________________________________________
> > katello-devel mailing list
> > katello-devel at redhat.com
> > https://www.redhat.com/mailman/listinfo/katello-devel
> 
> If we can pull off running integration tests on every pull request, I
> think we should do it; I have my doubts this is feasible however. 30
> mins per *each* pull request (and the time is only going to go up) is
> quite a bit. The value of these tests is somewhat limited too, as
> they
> are not truly integration tests, since each set of changes is tested
> independently from changes in other pull requests.
> 
> I don't think it's worth building an rpm for each pull request
> either.
> For which platform? would koji people even support such a use of
> infrastructure?
> 
> -d
> 
> _______________________________________________
> katello-devel mailing list
> katello-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/katello-devel
> 




More information about the katello-devel mailing list