Forum: Ruby CruiseControl.rb 1.0

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
38a02bf7121a81be5be6f3d488ce23b5?d=identicon&s=25 Alexey Verkhovsky (Guest)
on 2007-03-13 05:28
(Received via mailing list)
Hmmm.  Another Continuous Integration tool?  What is that, the millionth
one?

Yup, pretty much, but we're taking a different approach than the others
- in
a way, back to the basics.  Here's our motto:

    Easy to install, pleasant to use and simple to hack

What kind of good stuff does that mean?
 - download and get building in 5-10 minutes (maybe 15 if you stop to
read
the manual)
 - little to no configuration (seriously, just tell it your Subversion
URL)
 - works for Ruby, Java, .NET ... anything that you can invoke from the
command line
 - aesthetic beauty (not bad for a build tool)

Check it live out at http://cruisecontrolrb.thoughtworks.com/projects
and
then download and use it.
Feedback welcome - we're working on release 1.1 now.

CC.rb team
ThoughtWorks
0276239ca57aee241d4b41379587fa20?d=identicon&s=25 Lyle Johnson (Guest)
on 2007-03-13 13:47
(Received via mailing list)
On Mar 12, 2007, at 11:27 PM, Alexey Verkhovsky wrote:

> Check it live out at http://cruisecontrolrb.thoughtworks.com/
> projects and
> then download and use it.

 From the live demo, I was able to navigate to the documentation page:

  http://cruisecontrolrb.thoughtworks.com/documentat...

but when I clicked the "Download" link at the bottom of that page, I
got a 404.
38a02bf7121a81be5be6f3d488ce23b5?d=identicon&s=25 Alexey Verkhovsky (Guest)
on 2007-03-13 18:27
(Received via mailing list)
On 3/13/07, Lyle Johnson <lyle.johnson@gmail.com> wrote:
>
> From the live demo, I was able to navigate to the documentation page:
>
>         http://cruisecontrolrb.thoughtworks.com/documentat...
>
> but when I clicked the "Download" link at the bottom of that page, I
> got a 404.


The link is now fixed, thanks.
The download page is  here: http://rubyforge.org/frs/?group_id=2918

Best regards,
Alexey Verkhovsky
96931bfe0c2948f47a98e15ae52e5637?d=identicon&s=25 Chris Carter (cdcarter)
on 2007-03-14 02:16
(Received via mailing list)
On 3/12/07, Alexey Verkhovsky <alexey.verkhovsky@gmail.com> wrote:
> the manual)
> ThoughtWorks
>
Hi,
Is there any reason you don't have it parse the XML output of svn, it
would probably be much easier.
38a02bf7121a81be5be6f3d488ce23b5?d=identicon&s=25 Alexey Verkhovsky (Guest)
on 2007-03-14 03:31
(Received via mailing list)
On 3/13/07, Chris Carter <cdcarter@gmail.com> wrote:
>
> Is there any reason you don't have it parse the XML output of svn,


Other than "we didn't know that Subversion talks in XML until last
Sunday"?
No. :)

it would probably be much easier.

Probably.

The downside is that it's not very human readable, which hinders
troubleshooting. On the other hand, XML apparently solves localization
problem for some people with non-english Subversion installations. So,
it
definitely deserves a serious look.

Alex
F8db1aa9a5989dda731f9005dbf4a8b8?d=identicon&s=25 Lauri Pesonen (Guest)
on 2007-03-14 16:16
(Received via mailing list)
I tried running CC.rb on Solaris and got this after calling ./cruise add
... :

FAILED: Unknown OS: solaris2.8

I added this to lib/platform.rb:

    when /solaris/ then 'solaris'

I'm hoping that the platform makes a difference only if it is Windows.

I'm having other issues with SVN at the moment, so I can't tell if
things work or not (things seem to work since ./cruise add ...
finishes without complaints now).
8217faf2bfdfa7daf10135d41ddd421e?d=identicon&s=25 Jeff Cohen (jeff)
on 2007-03-14 20:16
(Received via mailing list)
On Mar 12, 11:27 pm, "Alexey Verkhovsky" <alexey.verkhov...@gmail.com>
wrote:
> Hmmm.  Another Continuous Integration tool?  What is that, the millionth
> one?

I have a feeling this is going to sound like a stupid question, but
why does anyone need a continuous integration tool for a dynamic
language like Ruby?  In other words, what exactly in my subversion
repository is it going to "build"?

When I used to work with .NET, it was helpful to have daily binaries
from source, so that we could run the test suite, or be able to
install the latest build on a test machine somewhere.

But with Rails, for example, I run my tests *before* I commit to
subversion - it was pretty easy to write a rake task to run the tests,
and then commit the code automatically if all of the tests passed.
The same could be said for any Ruby project, not just Rails.

Maybe I'm thinking in a narrow way, based on my limited experience
with Ruby and Rails projects so far.  So I'm just curious, and to
expand my own horizons a bit - what are some examples of when a Ruby
developer would need a continuous integration tool?

Thanks!
Jeff
9dec3df8319c613f6f4f14a27da0fdb4?d=identicon&s=25 Kyle Schmitt (Guest)
on 2007-03-14 20:24
(Received via mailing list)
It's not stupid, bu the answer is, to integrate. Yes it doesn't build
really, but if you have 10 people working on a project it's useful to
make sure it's all still working together, tests run properly etc.

With the .net developers where I work it's easy to see that, even if
it wasn't a compiled language, they'd need the CI to keep things
running smoothly.

Admittedly when it's one developer, or developers working on
distinctly separate modules it's not as important.

--Kyle
A777f1a2049d78a12ead38efb8f75f97?d=identicon&s=25 Tanner Burson (Guest)
on 2007-03-14 21:02
(Received via mailing list)
On 3/14/07, Jeff <cohen.jeff@gmail.com> wrote:
> repository is it going to "build"?
>
> When I used to work with .NET, it was helpful to have daily binaries
> from source, so that we could run the test suite, or be able to
> install the latest build on a test machine somewhere.


I actually plan on using this FOR .NET development.  While CC.Net is
useful,
it isn't going to help me with my linux based Mono builds.  This could
be an
extremely useful tool for those of us building cross platform software,
and
wanting a simple CI tool to use for multiple languages.

But with Rails, for example, I run my tests *before* I commit to
38a02bf7121a81be5be6f3d488ce23b5?d=identicon&s=25 Alexey Verkhovsky (Guest)
on 2007-03-14 21:03
(Received via mailing list)
On 3/14/07, Kyle Schmitt <kyleaschmitt@gmail.com> wrote:
>
> Admittedly when it's one developer, or developers working on
> distinctly separate modules it's not as important.


When it's one developer, no. Multiple developers working on distinctly
separate modules, on the other hand? If these modules need to talk to
each
other at all, CI is sweet.

Or consider the Ruby on Rails framework. It has to work on multiple
databases and operating systems. You won't set them all up on your
development box and run all tests every time you check something in.
Until
there was a continuous integration rig that ran unit tests against
Oracle
and SQLServer, unit tests for those databases were perpetually broken.

Alex
Ce8b03e5750097942c58e12b46724312?d=identicon&s=25 Giles Bowkett (Guest)
on 2007-03-14 21:31
(Received via mailing list)
At my job we use Cerberus for CI. We have different programmers
working on different parts of a large application in a complex domain,
including a DSL and a parser. Breaking other people's stuff is easy.
You check something in, Cerberus runs the tests automatically. Any
project with more than a few people on it can benefit from CI.

There's been a lot of talk about CruiseControl in the last couple
days, by the way, including a rumor that it'll become the official CI
tool of Rails.
0276239ca57aee241d4b41379587fa20?d=identicon&s=25 Lyle Johnson (Guest)
on 2007-03-14 21:59
(Received via mailing list)
On 3/14/07, Giles Bowkett <gilesb@gmail.com> wrote:

> There's been a lot of talk about CruiseControl in the last couple
> days, by the way, including a rumor that it'll become the official CI
> tool of Rails.

Just a side note, but I finally got around to trying out
CruiseControl.rb today and I'm really impressed. We were already using
CruiseControl (CruiseControl.java?) to manage the builds of about
seven Java-based projects. The only thing I had to add to get stuff
working under CC.rb was to tell the configuration file
(cruise_config.rb) for each project what command it should use to
build that project, i.e.

    Project.configure do |project|
      project.build_command = "ant clean; ant deploy"
    end

and it was off to the races. I think I had everything up and running
in *maybe* twenty minutes, as opposed to, well, a much longer time
when I first set up CruiseControl. Very nice indeed.

The only thing I'm missing at the moment is some kind of plugin for
viewing the JUnit test results report. Maybe I should get to work on
that. ;)
38a02bf7121a81be5be6f3d488ce23b5?d=identicon&s=25 Alexey Verkhovsky (Guest)
on 2007-03-14 23:01
(Received via mailing list)
On 3/14/07, Lyle Johnson <lyle.johnson@gmail.com> wrote:
>
> The only thing I'm missing at the moment is some kind of plugin for
> viewing the JUnit test results report. Maybe I should get to work on
> that. ;)


Just make Ant format JUnit output as HTML, and copy the directory with
all
those .html files into $CC_BUILD_ARTIFACTS. See what happens. :)

Alex
38a02bf7121a81be5be6f3d488ce23b5?d=identicon&s=25 Alexey Verkhovsky (Guest)
on 2007-03-14 23:15
(Received via mailing list)
On 3/14/07, Giles Bowkett <gilesb@gmail.com> wrote:
>
> There's been a lot of talk about CruiseControl in the last couple
> days, by the way, including a rumor that it'll become the official CI
> tool of Rails.



It's a bit more than just a rumor. :)
  http://cruisecontrolrb.thoughtworks.com/builds/RubyOnRails
  http://www.ruby-forum.com/topic/100947

Alex
38a02bf7121a81be5be6f3d488ce23b5?d=identicon&s=25 Alexey Verkhovsky (Guest)
on 2007-03-15 04:54
(Received via mailing list)
On 3/14/07, Lauri Pesonen <lauri.pesonen@iki.fi> wrote:
>
> I tried running CC.rb on Solaris and got this after calling ./cruise add
> ... :
> FAILED: Unknown OS: solaris2.8
>


Thanks for pointing it out, I fixed it on the trunk.

Alex Verkhovsky
ThoughtWorks
Aee77dba395ece0a04c688b05b07cd63?d=identicon&s=25 Daniel Berger (Guest)
on 2007-03-15 16:21
(Received via mailing list)
On Mar 14, 1:15 pm, "Jeff" <cohen.j...@gmail.com> wrote:

<snip>

> I have a feeling this is going to sound like a stupid question, but
> why does anyone need a continuous integration tool for a dynamic
> language like Ruby?  In other words, what exactly in my subversion
> repository is it going to "build"?

<snip>

What I would like is for Ruby itself to use CI. That way the core team
isn't relying on bug reports from preview releases.

I figure Linux is covered since that's what Matz develops on. If we
could get folks to give the core team access to Windows, OS X, AIX and
HP-UX boxes (and various versions of each), we would have much greater
confidence with each release.

Regards,

Dan

PS - I've got a Solaris 10 laptop and Windows XP Pro desktop the core
team can use for CI if they wish.
Aee77dba395ece0a04c688b05b07cd63?d=identicon&s=25 Daniel Berger (Guest)
on 2007-09-25 23:05
(Received via mailing list)
On Mar 15, 12:10 pm, Bil Kleb <Bil.K...@NASA.gov> wrote:
> Daniel Berger wrote:
>
> > What I would like is for Ruby itself to use CI. That way the core team
> > isn't relying on bug reports from preview releases.
>
> +1
>
> But don't we need something like Rubicon, aka rubytests?

For starters I'd vote they just run against Ruby's builtin test suite.
However, CI would (or could, I presume) also smoke out issues during
the configure/make process, which seems to be one of the major issues
that comes up in the preview releases, especially for Solaris and AIX
it seems.

Regards,

Dan
38a02bf7121a81be5be6f3d488ce23b5?d=identicon&s=25 Alexey Verkhovsky (Guest)
on 2007-09-25 23:08
(Received via mailing list)
> Daniel Berger wrote:
>
> > What I would like is for Ruby itself to use CI. That way the core team
> > isn't relying on bug reports from preview releases.

Once we get Rails well covered on our yet-to-be-built CI rig, we can
certainly think about adding Ruby to the same rig, too.
Question to Matz or anyone else from Ruby-core: do you think that you
need
something like this?

Alex  Verkhovsky
ThoughtWorks
A87f7a014c624587fab0d3d78c5b9c18?d=identicon&s=25 Bil Kleb (Guest)
on 2007-09-25 23:10
(Received via mailing list)
Daniel Berger wrote:
>
> What I would like is for Ruby itself to use CI. That way the core team
> isn't relying on bug reports from preview releases.

+1

But don't we need something like Rubicon, aka rubytests?

  http://rubytests.rubyforge.org/

I vaguely recall Rubicon being re-worked as of last RubyConf,
but I can't recall the new name/site...

Later,
This topic is locked and can not be replied to.