Hum, maybe I was not clear enough. I'm not saying that I found the docs are wrong, I'm saying that I find the behavior quite surprising as Vladas pointed out. To me it seems unnecessary to check the sources for changes when the answer to that question is not used at all later on because the build is forced. Maybe it's not so easy to change this, but it would indeed be nice if CCNet would not do that unnecessary step when the build is forced. So basically, change the order of things so that if build is forced, we go directly to step 3.1 without doing step 2 as it is necessary (from my point of view).
Should I create a JIRA for this? Regards Olivier On 5 août, 21:33, Ruben Willems <[email protected]> wrote: > Hi > > where in the docs did you find this, because it is indeed wrong. > > in the FAQ it is > correcthttp://confluence.public.thoughtworks.org/display/CCNET/FAQ > Operation flow of CCNet > > The exact sequence of operations is: > > 1) Wait for the triggers to awaken. > 2) Ask the source control system for a list of the modifications > since the last build. > 3) If any modifications were found or if the triggers said "force the > build": > 3.1) Generate a label for the build. > 3.2) Run the prebuild tasks in the order specified, failing > the build in case of error. > 3.3) Get the source code from the source control system. > 3.4) Run the build tasks in the order specified, failing the > build in case of error. > 3.5) If the repository should be labeled: > 3.5.1) Let the source control system apply the label. > 3.6) Run the publisher tasks. > 4) Go to 1. > > with kind regards > Ruben Willems > > On Tue, Aug 3, 2010 at 3:18 PM, OBones <[email protected]> wrote: > > Hello, > > > I have the following steps to create a release here: > > > Create a branch from a given URL > > Checkout a completely new working copy from the release branch > > Apply some changes so that the executable that will be built contains > > the svn revision number > > Commit those changes > > Build the executable for the release > > Tag the branch > > > I have thus configured a project in CruiseControl so that the source > > URL is given as a parameter and with a SVN source block that has its > > "trunkUrl" property set to the url of the later created release > > branch. > > The project is not scheduled to build automatically because it is the > > user who must specify the parameter. > > The first step is in "prebuild", the second should be taken care of by > > the SVN source block, and the remaining steps are in the tasks > > section. > > > This, however, does not work because CC checks the source for > > modification, thus calling SVN with the not yet created branch as the > > URL parameter. > > Considering that the build is forced, I would have thought that no > > "check for modification" would be needed, and as such that no calls be > > made to SVN before the prebuild tasks are even run. > > > To workaround this, I have disabled the SVN taks with autoGetSource > > set to False and gave it back the real trunk as the trunkUrl parameter > > value. > > > I don't know if this should be fixed or not, but I just wanted to warn > > people that despite what the documentation says, the prebuild tasks > > are not run before all source control process. The check for > > modification part calls the source control block before prebuild tasks > > are run. This is legitimate for scheduled tasks where you do not want > > those prebuild tasks to be run if there are no modifications. > > > But for forced builds, I would have thought that no check for > > modification was ever done. > > > Regards > > Olivier
