[RFC] Continuous Integration Proposal


mschonberg <mschonberg@...>
 

Mike Ritchie from J.P. Morgan was kind enough to draft this very thorough
proposal and roadmap to establish continuous integration (CI) for OpenMAMA. The
proposal addresses many of the challenges around testing applications
written in many programming languages and specifically the limited tools
available for C/C++.

The document also breaks adoption of CI into multiple stages:
1. Provision a server with Jenkins to automate build and existing tests.
2. Add code coverage for Java and C/C++
3. Memory safety (using Valgrind) for C/C++
4. Static code analysis
5. Use Robot Framework for new regression tests and ATDD (Acceptance Test
Driven Development).
6. Use CI to generate current documentation
7. Create a summary dashboard
8. Use Coverity or a similar tool to manage code structure

If there are others on this mailing list experienced with CI, any suggestions
and feedback would be very useful.

Regards,
-Mike


Raph Cohn
 

Jenkins is a good choice as a CI server. Ideally, we'd want to run a small build farm targeting the main CPU / OS combos (Windows, Linux, 32-bit & 64-bit x86), but that can be for the future. Some existing open source efforts have farms we might be able to share. Useful if coverage needs to extend to combos not commonly available as virtual server services, eg Solaris.

If we're going down this route it'd be nice to add in package builds as well, especially RPMs and DEBs, and host these in simple repositories (going the full hog, one can then test deployment too using CI into a conditioned virtual environment that's built each time). Still, there's a lot to do just getting something simple up and running as a first pass.

Personally, I don't really place a high value on most code metrics, but others do. I've always felt a good developer is much more the sculptor who can feel the imperfections, than the scientist who measures every angle with lasers...

Raph

Raphael Cohn
Chief Architect, StormMQ
Secretary, OASIS AMQP Standard
raphael.cohn@...
StormMQ Limited

UK Office:
Gateshead int'l Business Centre, Mulgrave Terrace, Gateshead, NE8 1AN, United Kingdom
Telephone: +44 845 3712 567

Registered office:
16 Anchor Street, Chelmsford, Essex, CM2 0JY, United Kingdom
StormMQ Limited is Registered in England and Wales under Company Number 07175657
StormMQ.com



On 18 July 2012 02:10, mschonberg <mschonberg@...> wrote:
Mike Ritchie from J.P. Morgan was kind enough to draft this very thorough
proposal and roadmap to establish continuous integration (CI) for OpenMAMA. The
proposal addresses many of the challenges around testing applications
written in many programming languages and specifically the limited tools
available for C/C++.

The document also breaks adoption of CI into multiple stages:
    1. Provision a server with Jenkins to automate build and existing tests.
    2. Add code coverage for Java and C/C++
    3. Memory safety (using Valgrind) for C/C++
    4. Static code analysis
    5. Use Robot Framework for new regression tests and ATDD (Acceptance Test
       Driven Development).
    6. Use CI to generate current documentation
    7. Create a summary dashboard
    8. Use Coverity or a similar tool to manage code structure

If there are others on this mailing list experienced with CI, any suggestions
and feedback would be very useful.

Regards,
-Mike
_______________________________________________
Openmama-dev mailing list
Openmama-dev@...
https://lists.openmama.org/mailman/listinfo/openmama-dev