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.
Alexey V. (Guest)
on 2007-03-13 06: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
Lyle J. (Guest)
on 2007-03-13 14:47
(Received via mailing list)
On Mar 12, 2007, at 11:27 PM, Alexey V. 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.
Alexey V. (Guest)
on 2007-03-13 19:27
(Received via mailing list)
On 3/13/07, Lyle J. <removed_email_address@domain.invalid> 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 V.
Chris C. (Guest)
on 2007-03-14 03:16
(Received via mailing list)
On 3/12/07, Alexey V. <removed_email_address@domain.invalid> 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.
Alexey V. (Guest)
on 2007-03-14 04:31
(Received via mailing list)
On 3/13/07, Chris C. <removed_email_address@domain.invalid> 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
Lauri P. (Guest)
on 2007-03-14 17: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).
Jeff C. (Guest)
on 2007-03-14 21:16
(Received via mailing list)
On Mar 12, 11:27 pm, "Alexey V." <removed_email_address@domain.invalid>
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
Kyle S. (Guest)
on 2007-03-14 21: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
Tanner B. (Guest)
on 2007-03-14 22:02
(Received via mailing list)
On 3/14/07, Jeff <removed_email_address@domain.invalid> 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
Alexey V. (Guest)
on 2007-03-14 22:03
(Received via mailing list)
On 3/14/07, Kyle S. <removed_email_address@domain.invalid> 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
Giles B. (Guest)
on 2007-03-14 22: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.
Lyle J. (Guest)
on 2007-03-14 22:59
(Received via mailing list)
On 3/14/07, Giles B. <removed_email_address@domain.invalid> 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. ;)
Alexey V. (Guest)
on 2007-03-15 00:01
(Received via mailing list)
On 3/14/07, Lyle J. <removed_email_address@domain.invalid> 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
Alexey V. (Guest)
on 2007-03-15 00:15
(Received via mailing list)
On 3/14/07, Giles B. <removed_email_address@domain.invalid> 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
Alexey V. (Guest)
on 2007-03-15 05:54
(Received via mailing list)
On 3/14/07, Lauri P. <removed_email_address@domain.invalid> 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
Daniel B. (Guest)
on 2007-03-15 17:21
(Received via mailing list)
On Mar 14, 1:15 pm, "Jeff" <removed_email_address@domain.invalid> 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.
Daniel B. (Guest)
on 2007-09-26 01:05
(Received via mailing list)
On Mar 15, 12:10 pm, Bil K. <removed_email_address@domain.invalid> wrote:
> Daniel B. 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
Alexey V. (Guest)
on 2007-09-26 01:08
(Received via mailing list)
> Daniel B. 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
Bil K. (Guest)
on 2007-09-26 01:10
(Received via mailing list)
Daniel B. 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.