comp.lang.ada
 help / color / mirror / Atom feed
* Continuous integration for Ada?
@ 2011-05-20 17:42 Peter C. Chapin
  2011-05-21  1:57 ` Michael R
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Peter C. Chapin @ 2011-05-20 17:42 UTC (permalink / raw)


I'm wondering if anyone here has experience setting up a continuous 
integration server for Ada and, if so, what tools (which server system) 
you might recommend.

By "continuous integration server" I mean a system that will 
automatically check out the latest version of software under development 
and then automatically build the software, run the unit tests, and 
produce some sort of report of the results (say on a web page).

I've used CruiseControl.NET on a C++ project in the past and it did a 
nice job. I'm sure it could be configured to compile and test Ada 
although doing so would require a fair amount of customization (I think). 
I'm wondering if there is something out there that's more Ada friendly 
out of the box.

I'm using GNAT, SPARK, AUnit for the Ada (there are also some C 
components but that's not my concern here), and Subversion for version 
control. It would be great to include SPARK operations such as 
examination and simplification of VCs into the CI process. I fully expect 
to do a lot of customizing to make that happen. It would be nice, 
however, if the basic compilation and testing could be done with a 
minimum of fuss.

Peter

P.S. I did search Google, but there doesn't seem to be a lot of talk 
about CI in an Ada context.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Continuous integration for Ada?
  2011-05-20 17:42 Continuous integration for Ada? Peter C. Chapin
@ 2011-05-21  1:57 ` Michael R
  2011-05-21  4:41 ` R. Tyler Croy
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 11+ messages in thread
From: Michael R @ 2011-05-21  1:57 UTC (permalink / raw)


Hi,

I use Hudson to build and test my software.  I've modified the standard AUnit XML reporter to generate an XML file Hudson recognizes which gives you a nice graph of test results over time (builds).  Subversion is also directly supported.  Setting it up is trivial.

Hudson is available at http://www.hudson-ci.org/

For the Hudson-ized XML reporter see,

https://zanyblue.svn.sourceforge.net/svnroot/zanyblue/trunk/src/test/unittest/zanyblue-test-reporter_xml.ads
https://zanyblue.svn.sourceforge.net/svnroot/zanyblue/trunk/src/test/unittest/zanyblue-test-reporter_xml.adb

I'm afraid my Hudson system is behind a firewall so I can't show you the pages.

Let me know if you need any additional info.

Take care,
Michael.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Continuous integration for Ada?
  2011-05-20 17:42 Continuous integration for Ada? Peter C. Chapin
  2011-05-21  1:57 ` Michael R
@ 2011-05-21  4:41 ` R. Tyler Croy
  2011-05-21  7:32   ` Michael R
  2011-05-23  9:05 ` Frédéric Praca
  2011-05-23 19:04 ` Tero Koskinen
  3 siblings, 1 reply; 11+ messages in thread
From: R. Tyler Croy @ 2011-05-21  4:41 UTC (permalink / raw)


On Fri, 20 May 2011 12:42:59 -0500, Peter C. Chapin wrote:

> I'm wondering if anyone here has experience setting up a continuous
> integration server for Ada and, if so, what tools (which server system)
> you might recommend.
> 
> By "continuous integration server" I mean a system that will
> automatically check out the latest version of software under development
> and then automatically build the software, run the unit tests, and
> produce some sort of report of the results (say on a web page).
> 
> I've used CruiseControl.NET on a C++ project in the past and it did a
> nice job. I'm sure it could be configured to compile and test Ada
> although doing so would require a fair amount of customization (I
> think). I'm wondering if there is something out there that's more Ada
> friendly out of the box.

I'm not sure about Ada friendly, but I'm very partial to Jenkins <http://
jenkins-ci.org> which can do a pretty decent job with just about any 
project type.

A first pass at Googling doesn't show me any XML test runners for AUnit 
that can generate JUnit compatible test reports. I've used XSLT to 
transform glib test output for integration with Jenkins <http://
unethicalblogger.com/2009/06/18/using-glibs-gtester-results-in-hudson.html> 
which could probably be reused.



-- 
- R. Tyler Croy
--------------------------------------
    Code: http://github.com/rtyler



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Continuous integration for Ada?
  2011-05-21  4:41 ` R. Tyler Croy
@ 2011-05-21  7:32   ` Michael R
  2011-05-21 15:53     ` R. Tyler Croy
  0 siblings, 1 reply; 11+ messages in thread
From: Michael R @ 2011-05-21  7:32 UTC (permalink / raw)


It appears Jenkins and Hudson are forks, not sure why, guess the Oracle logo
at the bottom of the hudson web page might have something to do with it.

I expect the XML AUnit reporter from my project (previous post) should work here.

Take care,
Michael.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Continuous integration for Ada?
  2011-05-21  7:32   ` Michael R
@ 2011-05-21 15:53     ` R. Tyler Croy
  2011-05-21 20:03       ` Peter C. Chapin
  0 siblings, 1 reply; 11+ messages in thread
From: R. Tyler Croy @ 2011-05-21 15:53 UTC (permalink / raw)


On Sat, 21 May 2011 00:32:09 -0700, Michael R wrote:

> It appears Jenkins and Hudson are forks, not sure why, guess the Oracle
> logo at the bottom of the hudson web page might have something to do
> with it.
> 
> I expect the XML AUnit reporter from my project (previous post) should
> work here.

So, I'm actually a member of the Jenkins community. Long-story short, we 
did more or less the same thing that LibreOffice did after Oracle tried to 
force us in a direction we didn't want to go down. Jenkins represents all 
but a couple of the open source community formerly behind Hudson <http://
jenkins-ci.org/content/state-jenkins-project>


There's a project right now to allow building plugins for Jenkins in Ruby, 
as soon as that stabilizes, I plan on creating some Ada-specific plugins 
like a GPRBuild native project type :)


Cheers


-- 
- R. Tyler Croy
--------------------------------------
    Code: http://github.com/rtyler



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Continuous integration for Ada?
  2011-05-21 15:53     ` R. Tyler Croy
@ 2011-05-21 20:03       ` Peter C. Chapin
  0 siblings, 0 replies; 11+ messages in thread
From: Peter C. Chapin @ 2011-05-21 20:03 UTC (permalink / raw)


On Sat, 21 May 2011 15:53:48 +0000, R. Tyler Croy wrote:

> So, I'm actually a member of the Jenkins community. Long-story short, we
> did more or less the same thing that LibreOffice did after Oracle tried
> to force us in a direction we didn't want to go down. Jenkins represents
> all but a couple of the open source community formerly behind Hudson
> <http:// jenkins-ci.org/content/state-jenkins-project>
> 
> 
> There's a project right now to allow building plugins for Jenkins in
> Ruby, as soon as that stabilizes, I plan on creating some Ada-specific
> plugins like a GPRBuild native project type :)

Thanks for the suggestions and pointers... that's just what I was looking 
for. I'm not afraid of writing some XSL if necessary; I had to do that 
with CruiseControl.NET. Of course if I can just plug in a solution that 
already exists that is always nice. :)

Anyway, thanks again to both you and Michael R

Peter



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Continuous integration for Ada?
  2011-05-20 17:42 Continuous integration for Ada? Peter C. Chapin
  2011-05-21  1:57 ` Michael R
  2011-05-21  4:41 ` R. Tyler Croy
@ 2011-05-23  9:05 ` Frédéric Praca
  2011-05-23 19:27   ` Pascal Obry
  2011-05-23 19:04 ` Tero Koskinen
  3 siblings, 1 reply; 11+ messages in thread
From: Frédéric Praca @ 2011-05-23  9:05 UTC (permalink / raw)


If you don't want to install a whole JDK for running Jenkins and want 
easy build slaves, try Buildbot.
You'll find a good start here despite the fact that this document is 
pretty old.
http://olivier.ramonat.free.fr/svn_trac_buildbot/index_en.html



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Continuous integration for Ada?
  2011-05-20 17:42 Continuous integration for Ada? Peter C. Chapin
                   ` (2 preceding siblings ...)
  2011-05-23  9:05 ` Frédéric Praca
@ 2011-05-23 19:04 ` Tero Koskinen
  3 siblings, 0 replies; 11+ messages in thread
From: Tero Koskinen @ 2011-05-23 19:04 UTC (permalink / raw)


Peter C. Chapin <PChapin@vtc.vsc.edu> wrote:
> I'm wondering if anyone here has experience setting up a continuous 
> integration server for Ada and, if so, what tools (which server system) 
> you might recommend.

Here is example of Jenkins building Ahven [1] and reporting
the test results:
http://devel.stronglytyped.org:8080/

The host is Linode/VPS instance with Fedora 14 and GNAT GPL.
Jenkins fetches Ahven's source code every hour from
https://bitbucket.org/tkoskine/ahven and shows the build and
test results.

Ahven generates suitable XML files out of the box
(although for some reason Jenkins reports 43+3+3+4=50 tests
instead of 50=50 tests...).

-- 
Tero Koskinen - http://iki.fi/tero.koskinen/

[1] http://ahven.stronglytyped.org/



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Continuous integration for Ada?
  2011-05-23  9:05 ` Frédéric Praca
@ 2011-05-23 19:27   ` Pascal Obry
  2011-05-23 20:10     ` Michael R
  0 siblings, 1 reply; 11+ messages in thread
From: Pascal Obry @ 2011-05-23 19:27 UTC (permalink / raw)
  To: Frédéric Praca

Le 23/05/2011 11:05, Frédéric Praca a écrit :
> If you don't want to install a whole JDK for running Jenkins and want
> easy build slaves, try Buildbot.
> You'll find a good start here despite the fact that this document is
> pretty old.
> http://olivier.ramonat.free.fr/svn_trac_buildbot/index_en.html

Old paper indeed. There should still be some valuable information in it 
though. Note that with Oliver Ramonat we have started a project named 
Savadur with is a continuous builder fully configurable in XML. This 
project is full Ada, not well polished I would say but still working 
today. I'm using it on my home machine to test Vision2Pixels every night 
for example.

It would be nice to find some more contributors to this project.

For the curious:

    http://repo.or.cz/w/savadur.git

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|    http://www.obry.net  -  http://v2p.fr.eu.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver keys.gnupg.net --recv-key F949BD3B




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Continuous integration for Ada?
  2011-05-23 19:27   ` Pascal Obry
@ 2011-05-23 20:10     ` Michael R
  2011-05-23 20:19       ` Pascal Obry
  0 siblings, 1 reply; 11+ messages in thread
From: Michael R @ 2011-05-23 20:10 UTC (permalink / raw)
  Cc: Frédéric Praca

Hi,

I attempted to clone this repo but got

warning: remote HEAD refers to nonexistent ref, unable to checkout.

Is there something wrong?

Take care,
Michael.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Continuous integration for Ada?
  2011-05-23 20:10     ` Michael R
@ 2011-05-23 20:19       ` Pascal Obry
  0 siblings, 0 replies; 11+ messages in thread
From: Pascal Obry @ 2011-05-23 20:19 UTC (permalink / raw)
  To: comp.lang.ada; +Cc: Michael R, Frédéric Praca


Michael,

> I attempted to clone this repo but got
>
> warning: remote HEAD refers to nonexistent ref, unable to checkout.
>
> Is there something wrong?

The link I've done is for a Web browser :)

The Git repo address is:

    git://repo.or.cz/savadur.git

or
    http://repo.or.cz/r/savadur.git

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|    http://www.obry.net  -  http://v2p.fr.eu.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver keys.gnupg.net --recv-key F949BD3B




^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2011-05-23 20:19 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-20 17:42 Continuous integration for Ada? Peter C. Chapin
2011-05-21  1:57 ` Michael R
2011-05-21  4:41 ` R. Tyler Croy
2011-05-21  7:32   ` Michael R
2011-05-21 15:53     ` R. Tyler Croy
2011-05-21 20:03       ` Peter C. Chapin
2011-05-23  9:05 ` Frédéric Praca
2011-05-23 19:27   ` Pascal Obry
2011-05-23 20:10     ` Michael R
2011-05-23 20:19       ` Pascal Obry
2011-05-23 19:04 ` Tero Koskinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox