From alexey.verkhovsky at gmail.com Fri May 2 12:58:13 2008 From: alexey.verkhovsky at gmail.com (Alexey Verkhovsky) Date: Fri, 2 May 2008 10:58:13 -0600 Subject: [Cruisecontrolrb-developers] cruise add: deprecating --url option in favor of --repository? Message-ID: <3945c4270805020958v73aac46bmd812fb9c5fdd7712@mail.gmail.com> Dear all, In the process of making CC.rb work with source control systems other than Subversion, I am about to rename --url option of "cruise add" command with --repository. Reason: not everything that can go there is a URL. Example: if you want to get a CI loop for a local Git repository, you'd give it a local file system path. I.e., "/tmp/git-repo", not "file:///tmp/git-repo". It will still accept the --url option as an equivalent of --repository, so that this change doesn't break the installation notes you jotted down in a project wiki a year ago. So, resulting options look as follows: > cruise help add usage: cruise add --url [source control options] -r, --repository repository Location of the source control repository for the project (eg. svn://rubyforge.org/var/svn/cruisecontrolrb) -s source_control Specify the source control manager to use (default: subversion) --source-control --username username Specify a username for source control --password password Specify a password for source control -t, --trace Print out exception stack traces -u, --url url [deprecated, use -r|--repository instead] URL of the source control repository -h, --help Show this help message. Thoughts? -- Alexey Verkhovsky CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] RubyWorks [http://rubyworks.thoughtworks.com] From jeremystellsmith at gmail.com Fri May 2 13:16:56 2008 From: jeremystellsmith at gmail.com (Jeremy Stell-Smith) Date: Fri, 2 May 2008 10:16:56 -0700 Subject: [Cruisecontrolrb-developers] cruise add: deprecating --url option in favor of --repository? In-Reply-To: <3945c4270805020958v73aac46bmd812fb9c5fdd7712@mail.gmail.com> References: <3945c4270805020958v73aac46bmd812fb9c5fdd7712@mail.gmail.com> Message-ID: I've long thought that I did this wrong last go around. What if -repository was the default option? so, this should work : ./cruise add svn://svn.me.com/cruisecontrolrb/trunk and this should work ./cruise add git://github.com/stellsmi/cruisecontrolrb but also, if people wanted to control it, this could work ./cruise add http://svn.mystuff.com/myproject/trunk --name Awesome --scm svn or ./cruise add http://svn.mystuff.com/myproject/trunk -n Awesome -s svn we could ask each registered scm if a "repository" belonged to it. and if it did, to guess what the project name should be, just like svn co does. then again, not only is this a breaking change, it also all feels like "magic" and is therefore out of vogue at the moment, so I'd be happy with what you're proposing as well, Alexey. On Fri, May 2, 2008 at 9:58 AM, Alexey Verkhovsky < alexey.verkhovsky at gmail.com> wrote: > Dear all, > > In the process of making CC.rb work with source control systems other > than Subversion, I am about to rename --url option of "cruise add" > command with --repository. > Reason: not everything that can go there is a URL. Example: if you > want to get a CI loop for a local Git repository, you'd give it a > local file system path. I.e., "/tmp/git-repo", not > "file:///tmp/git-repo". > > It will still accept the --url option as an equivalent of > --repository, so that this change doesn't break the installation notes > you jotted down in a project wiki a year ago. So, resulting options > look as follows: > > > cruise help add > usage: cruise add --url [source > control options] > > -r, --repository repository Location of the source control > repository for the project (eg. > svn://rubyforge.org/var/svn/cruisecontrolrb) > -s source_control Specify the source control > manager to use (default: subversion) > --source-control > --username username Specify a username for source control > --password password Specify a password for source control > -t, --trace Print out exception stack traces > > -u, --url url [deprecated, use -r|--repository > instead] URL of the source control repository > > -h, --help Show this help message. > > Thoughts? > > -- > Alexey Verkhovsky > CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] > RubyWorks [http://rubyworks.thoughtworks.com] > _______________________________________________ > Cruisecontrolrb-developers mailing list > Cruisecontrolrb-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-developers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From alexey.verkhovsky at gmail.com Fri May 2 15:56:07 2008 From: alexey.verkhovsky at gmail.com (Alexey Verkhovsky) Date: Fri, 2 May 2008 13:56:07 -0600 Subject: [Cruisecontrolrb-developers] cruise add: deprecating --url option in favor of --repository? In-Reply-To: References: <3945c4270805020958v73aac46bmd812fb9c5fdd7712@mail.gmail.com> Message-ID: <3945c4270805021256k1ab4ed68me514310331b5c383@mail.gmail.com> On Fri, May 2, 2008 at 11:16 AM, Jeremy Stell-Smith wrote: > What if -repository was the default option? > so, this should work : > ./cruise add svn://svn.me.com/cruisecontrolrb/trunk This does work on the trunk now: ./cruise add ProjectOne svn://svn.me.com/cruisecontrolrb/trunk I.e., second arg, if it doesn't start with a dash, is the repository location. Every time I demo CC.rb, I forget the --url part, so this looks like a good change. :) Otherwise, it's not like one is adding projects to CI servers twenty times a day, so perhaps we don't need to make it too smart :) -- Alexey Verkhovsky CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] RubyWorks [http://rubyworks.thoughtworks.com] From jeremystellsmith at gmail.com Fri May 2 15:59:33 2008 From: jeremystellsmith at gmail.com (Jeremy Stell-Smith) Date: Fri, 2 May 2008 12:59:33 -0700 Subject: [Cruisecontrolrb-developers] cruise add: deprecating --url option in favor of --repository? In-Reply-To: <3945c4270805021256k1ab4ed68me514310331b5c383@mail.gmail.com> References: <3945c4270805020958v73aac46bmd812fb9c5fdd7712@mail.gmail.com> <3945c4270805021256k1ab4ed68me514310331b5c383@mail.gmail.com> Message-ID: okay, fair enough - I also forget the --url every single time, this solves my biggest issue On Fri, May 2, 2008 at 12:56 PM, Alexey Verkhovsky < alexey.verkhovsky at gmail.com> wrote: > On Fri, May 2, 2008 at 11:16 AM, Jeremy Stell-Smith > wrote: > > What if -repository was the default option? > > so, this should work : > > ./cruise add svn://svn.me.com/cruisecontrolrb/trunk > > This does work on the trunk now: > > ./cruise add ProjectOne svn://svn.me.com/cruisecontrolrb/trunk > > I.e., second arg, if it doesn't start with a dash, is the repository > location. Every time I demo CC.rb, I forget the --url part, so this > looks like a good change. :) > > Otherwise, it's not like one is adding projects to CI servers twenty > times a day, so perhaps we don't need to make it too smart :) > > -- > Alexey Verkhovsky > CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] > RubyWorks [http://rubyworks.thoughtworks.com] > _______________________________________________ > Cruisecontrolrb-developers mailing list > Cruisecontrolrb-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-developers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From estebanm at opera.com Mon May 5 03:33:58 2008 From: estebanm at opera.com (=?utf-8?Q?Esteban_Manchado_Vel=C3=A1zquez?=) Date: Mon, 05 May 2008 09:33:58 +0200 Subject: [Cruisecontrolrb-developers] cruise add: deprecating --url option in favor of --repository? In-Reply-To: References: <3945c4270805020958v73aac46bmd812fb9c5fdd7712@mail.gmail.com> <3945c4270805021256k1ab4ed68me514310331b5c383@mail.gmail.com> Message-ID: On Fri, 02 May 2008 21:59:33 +0200, Jeremy Stell-Smith wrote: > okay, fair enough - I also forget the --url every single time, this > solves > my biggest issue +1 Plus, I never understood why an "option" should be mandatory. -- Esteban Manchado Vel?zquez , who kind of likes internal builds (except M2, who ate his mail) From alexey.verkhovsky at gmail.com Mon May 5 10:44:44 2008 From: alexey.verkhovsky at gmail.com (Alexey Verkhovsky) Date: Mon, 5 May 2008 08:44:44 -0600 Subject: [Cruisecontrolrb-developers] 10,000 downloads reached Message-ID: <3945c4270805050744q8bc2beegbc480183beaa192@mail.gmail.com> Hi all, Once upon a time (around version 0.1) I said that building CC.rb will be worth the hassle if it ever gets over 10k downloads. Just an arbitrary big number, yes. But yay! We are there now. :) [http://rubyforge.org/top/toplist.php?type=downloads] -- Alexey Verkhovsky CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] RubyWorks [http://rubyworks.thoughtworks.com] From gigix1980 at gmail.com Mon May 5 11:09:56 2008 From: gigix1980 at gmail.com (Jeff Xiong) Date: Mon, 5 May 2008 23:09:56 +0800 Subject: [Cruisecontrolrb-developers] 10,000 downloads reached In-Reply-To: <3945c4270805050744q8bc2beegbc480183beaa192@mail.gmail.com> References: <3945c4270805050744q8bc2beegbc480183beaa192@mail.gmail.com> Message-ID: <20fd9dc50805050809o2707c2f7s29c55e4349c10f9d@mail.gmail.com> Amazing, isn't it? ^_^ On Mon, May 5, 2008 at 10:44 PM, Alexey Verkhovsky wrote: > Hi all, > > Once upon a time (around version 0.1) I said that building CC.rb will > be worth the hassle if it ever gets over 10k downloads. Just an > arbitrary big number, yes. But yay! We are there now. :) > [http://rubyforge.org/top/toplist.php?type=downloads] > > -- > Alexey Verkhovsky > CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] > RubyWorks [http://rubyworks.thoughtworks.com] > _______________________________________________ > Cruisecontrolrb-developers mailing list > Cruisecontrolrb-developers at rubyforge.org > http://rubyforge.org/mailman/listinfo/cruisecontrolrb-developers > -- Jeff Xiong Software Journeyman - http://gigix.thoughtworkers.org Open Source Contributor - http://fluorida.googlecode.com/ Technical Evangelist - http://www.infoq.com/cn/ From alexey.verkhovsky at gmail.com Tue May 6 17:53:43 2008 From: alexey.verkhovsky at gmail.com (Alexey Verkhovsky) Date: Tue, 6 May 2008 15:53:43 -0600 Subject: [Cruisecontrolrb-developers] Git support - kinda works, have design questions Message-ID: <3945c4270805061453t24dfea1fhaa466d22529d0210@mail.gmail.com> As of now, I can create a project from Git repository, run a builder on it, and even run the dashboard. Build pages look ugly because build.label in git is very long, a bunch of unit tests is failing, and I had to disable some functionality, namely displaying source control errors in the dashboard. SourceControl::AbstractAdapter#execute_with_error_log (formerly known as Subversion::execute_with_error_log) had a bold assumption that any command writing anything in stderr has failed. This is not true for Git. Actually (and this really sucks), I even found a case where Git command returns a non-zero exit code upon successful completion. Namely, "git remote update" - I had to replace that with lower level "git fetch origin" that seems to do the right thing. None of that is documented behavior, as far as I can tell. Anyhow, it works for some value of "works" now. ThoughtWorks IS needs to punch a hole in the firewall so that ccrb.tw.com can talk to RubyForge Git server. Once that is done, I am deploying the current tip. Meantime, there is one pretty important design decision to be made. Commit id in distributed source control systems tends to be a very long random hex string. So, our convention of using revision number as build labels doesn't work - neither for displaying, nor for ordering builds. If we still use those hashes for build labels, we'll need to order builds by mtime of a build directory and display abbreviated build labels instead of full ones. Or we need to generate our own build numbers. Either way sucks, in its own special way. Does anyone have a strong preference or a better idea? -- Alexey Verkhovsky CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] RubyWorks [http://rubyworks.thoughtworks.com] From thewoolleyman at gmail.com Tue May 6 20:43:13 2008 From: thewoolleyman at gmail.com (Chad Woolley) Date: Tue, 6 May 2008 17:43:13 -0700 Subject: [Cruisecontrolrb-developers] [Cruisecontrolrb-users] Git support - kinda works, have design questions In-Reply-To: <0FAEDFDC-7577-4A45-9EEB-59AEA4A8E600@gmail.com> References: <3945c4270805061453t24dfea1fhaa466d22529d0210@mail.gmail.com> <0FAEDFDC-7577-4A45-9EEB-59AEA4A8E600@gmail.com> Message-ID: On Tue, May 6, 2008 at 5:28 PM, Jason Sallis wrote: > Alex, have you considered using a shortened version of the revision hash for > display? With git, you can do 'git rev-parse --short HEAD' to get a more > readable but unique enough revision hash to id the build with. I'm not sure > if mercurial or other distributed vc systems have such an option, but it > would work for git at least. Just a thought. > > - Jason This seems like a great solution, Jason. I'd definitely avoid a manually generated build ID - having the build ID tied directly to SCM is one of the nice things about cc.rb. From alexey.verkhovsky at gmail.com Wed May 7 22:23:44 2008 From: alexey.verkhovsky at gmail.com (Alexey Verkhovsky) Date: Wed, 7 May 2008 20:23:44 -0600 Subject: [Cruisecontrolrb-developers] [Cruisecontrolrb-users] Git support - kinda works, have design questions In-Reply-To: <276ff9870805070507v122be1a0of47afd5370c0e938@mail.gmail.com> References: <3945c4270805061453t24dfea1fhaa466d22529d0210@mail.gmail.com> <276ff9870805070507v122be1a0of47afd5370c0e938@mail.gmail.com> Message-ID: <3945c4270805071923g406b57dlfb9fec4cf50a7440@mail.gmail.com> On Wed, May 7, 2008 at 6:07 AM, nicholas a. evans wrote: > > If we still use those hashes for build labels, we'll need to order > > builds by mtime of a build directory and display abbreviated build > > labels instead of full ones. Or we need to generate our own build > > numbers. > Personally, I'd strongly prefer generated build numbers In the latest checkin, we are abbreviating global changeset ids (long random hex strings) for both Git and Mercurial to the first five characters. It turns out that both Git and Mercurial allow you to specify changesets in this way, so it is a meaningful label, problem solved. 5 characters sounds like a short string. We thought about what happens if two changesets have the same first five characters. First of all, 16^5 is just above a million, so chances of that actually happening are not that big. And then, consequences are not that serious - it will just create a new build with the .1 suffix, like it was a rebuild. We are also sorting builds by mtime of the build directory. Whether this is a performance concern remains to be seen by testing on a project with large number of builds. Bottom line: Mercurial and Git support available from the master repository (previously known as trunk) passes some tests and looks usable by now. If you need it desperately enough to deal with unreleased software, please try it out and see what happens. -- Alexey Verkhovsky CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] RubyWorks [http://rubyworks.thoughtworks.com] From thewoolleyman at gmail.com Wed May 7 22:36:32 2008 From: thewoolleyman at gmail.com (Chad Woolley) Date: Wed, 7 May 2008 19:36:32 -0700 Subject: [Cruisecontrolrb-developers] [Cruisecontrolrb-users] Git support - kinda works, have design questions In-Reply-To: <3945c4270805071923g406b57dlfb9fec4cf50a7440@mail.gmail.com> References: <3945c4270805061453t24dfea1fhaa466d22529d0210@mail.gmail.com> <276ff9870805070507v122be1a0of47afd5370c0e938@mail.gmail.com> <3945c4270805071923g406b57dlfb9fec4cf50a7440@mail.gmail.com> Message-ID: On Wed, May 7, 2008 at 7:23 PM, Alexey Verkhovsky wrote: > Bottom line: Mercurial and Git support available from the master > repository (previously known as trunk) passes some tests and looks > usable by now. If you need it desperately enough to deal with > unreleased software, please try it out and see what happens. Thanks for your work, Alexey. I'll try it out. -- Chad From estebanm at opera.com Fri May 9 07:48:24 2008 From: estebanm at opera.com (=?utf-8?Q?Esteban_Manchado_Vel=C3=A1zquez?=) Date: Fri, 09 May 2008 13:48:24 +0200 Subject: [Cruisecontrolrb-developers] Plugin infrastructure question (was: Re: [ANN] CruiseControl.rb 1.3.0) In-Reply-To: <3945c4270804241628g692f6aaej8d66af975afd996e@mail.gmail.com> References: <3945c4270804241628g692f6aaej8d66af975afd996e@mail.gmail.com> Message-ID: On Fri, 25 Apr 2008 01:28:06 +0200, Alexey Verkhovsky wrote: > In addition, there is an experimental plugin infrastructure (similar > to Rails plugins). If you are writing CC.rb extensions, you may want > to look at it. Start with "script/cruise_plugin list help". Is there any documentation about this? The only examples are notifiers, is it just a plugin infrastructure for notifiers and other tasks when builds are finished, or could I implement other features with it? In particular, I'd be interested in turning my patch at http://jira.public.thoughtworks.org/browse/CCRB-172 to a plugin, so it's easier to maintain. Would that be possible at all? -- Esteban Manchado Vel?zquez , who kind of likes internal builds (except M2, who ate his mail) From thewoolleyman at gmail.com Mon May 12 13:26:01 2008 From: thewoolleyman at gmail.com (Chad Woolley) Date: Mon, 12 May 2008 10:26:01 -0700 Subject: [Cruisecontrolrb-developers] [Cruisecontrolrb-users] Git support - kinda works, have design questions In-Reply-To: <3945c4270805071923g406b57dlfb9fec4cf50a7440@mail.gmail.com> References: <3945c4270805061453t24dfea1fhaa466d22529d0210@mail.gmail.com> <276ff9870805070507v122be1a0of47afd5370c0e938@mail.gmail.com> <3945c4270805071923g406b57dlfb9fec4cf50a7440@mail.gmail.com> Message-ID: On Wed, May 7, 2008 at 7:23 PM, Alexey Verkhovsky wrote: > If you need it desperately enough to deal with > unreleased software, please try it out and see what happens. I've played with this some, only against local repos, and it seems to work ok. I think I did see two auto-triggered builds when I only did one checkin, but I'm not positive and didn't look into the details. When are you going to get the ccrb source building on it on the ccrb/projects webpage? -- Chad From alexey.verkhovsky at gmail.com Mon May 12 17:31:29 2008 From: alexey.verkhovsky at gmail.com (Alexey Verkhovsky) Date: Mon, 12 May 2008 15:31:29 -0600 Subject: [Cruisecontrolrb-developers] [Cruisecontrolrb-users] Git support - kinda works, have design questions In-Reply-To: References: <3945c4270805061453t24dfea1fhaa466d22529d0210@mail.gmail.com> <276ff9870805070507v122be1a0of47afd5370c0e938@mail.gmail.com> <3945c4270805071923g406b57dlfb9fec4cf50a7440@mail.gmail.com> Message-ID: <3945c4270805121431k3a8bb7beq51b5f52759940c1d@mail.gmail.com> On Mon, May 12, 2008 at 11:26 AM, Chad Woolley wrote: > When are you going to get the ccrb source building on it on the > ccrb/projects webpage? Soon. So far, I've been using the Mercurial integration, and had some interesting problems. The Mercurial patch that we started with did not handle -- Alexey Verkhovsky CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] RubyWorks [http://rubyworks.thoughtworks.com] From alexey.verkhovsky at gmail.com Mon May 12 17:35:08 2008 From: alexey.verkhovsky at gmail.com (Alexey Verkhovsky) Date: Mon, 12 May 2008 15:35:08 -0600 Subject: [Cruisecontrolrb-developers] [Cruisecontrolrb-users] Git support - kinda works, have design questions In-Reply-To: <3945c4270805121431k3a8bb7beq51b5f52759940c1d@mail.gmail.com> References: <3945c4270805061453t24dfea1fhaa466d22529d0210@mail.gmail.com> <276ff9870805070507v122be1a0of47afd5370c0e938@mail.gmail.com> <3945c4270805071923g406b57dlfb9fec4cf50a7440@mail.gmail.com> <3945c4270805121431k3a8bb7beq51b5f52759940c1d@mail.gmail.com> Message-ID: <3945c4270805121435ibae4ebfua260a9198736865a@mail.gmail.com> On Mon, May 12, 2008 at 3:31 PM, Alexey Verkhovsky wrote: > On Mon, May 12, 2008 at 11:26 AM, Chad Woolley wrote: > > When are you going to get the ccrb source building on it on the > > ccrb/projects webpage? > Soon. So far, I've been using the Mercurial integration, and had some > interesting problems. The Mercurial patch that we started with did not > handle oops... this was supposed to say: ... did not handle a few special cases, so we've got that working -- to some degree, at least. -- Alexey Verkhovsky CruiseControl.rb [http://cruisecontrolrb.thoughtworks.com] RubyWorks [http://rubyworks.thoughtworks.com] From thewoolleyman at gmail.com Mon May 12 23:49:45 2008 From: thewoolleyman at gmail.com (Chad Woolley) Date: Mon, 12 May 2008 20:49:45 -0700 Subject: [Cruisecontrolrb-developers] git build id Message-ID: As I consider it more, I think the git builds should have a chronologically ascending unique ID for commits. This is a nice feature of subversion, and is handy to use in versioning strategies, such as the fourth component of a rubygems version from an automatic build. As it currently stands, if I want to have a versioning strategy that has a naturally-ascending "tiny" version increment, I'll have to do it myself, manually or by maintgining my own ID. I'd rather ccrb handle this for me and only worry about one build ID/version. So, should ccrb have a unique build ID which is chronologically ascending? We could prepend this to the git short guid for tracability back to the corresponding baseline in SCM (I assume you can find a git baseline from the short-format guid? I dunno, still learning it). The ascending ID could be a number or could be a timestamp, but that might b too long. Thoughts? -- Chad