Greetings--

I have seen an issue where a forcebuild of a project is denied being
added to a queue (log says "cancelling new request") because it is
already in the queue, but if the project has not been modified in the
code repository it won't get built, which nullifies the forcebuild
request that was made.

Anyhoo, this is a problem, possibly a bug.  I have noticed that
someone else (see "Feb 25 2008, 3:12 am, miketong" post, included
below), but I can't seem to find that the issue was resolved.



On Feb 25 2008, 3:12 am, miketong <[email protected]> wrote:
> I have the same problem and I think I've figured out why, but I don't
> know how to fix it or if there is a work around In a simple example
> you have 2 projects in the same Q. Project A has aforcebuild
> publisher on Project B. Project B also checks for modifications every
> 60 seconds.
>
> Most of the time, this will work fine, You trigger Project A to build
> and when it finishes it triggers project A. All is fine. However
> sometimes, when you trigger project A, Project B doesnt build. Set the
> interval from 60 secs to 1 sec and the problem happens nearly every
> time.
>
> What I think is happening, is that while project A is building,
> Project B gets added to the Q by the checkformodifications trigger.
> When Project A finishes it tries to add project A to thequeuebecause
> of theforcebuildpublisher but it'salreadythere, so it doesnt.
> Project B then becomes front of the Q but because there were no SS
> modifications, it doesn't build.
>
> It looks like we need to be able to add projects to the Q multiple
> times with multiple criteria. I.E Just because an item is in thequeue
> for a checkformodifications build check, doesn't prevent it from being
> added by aforcebuild, or perhaps, the previous instance of it in the
> Q is upgraded from buildifmodifiied toforcebuild.
>
> This is definately a bug as far as I'm concerned as it is screwing up
> my build server! Any help from the developers in sorting this out?
>
> On Jan 2, 1:45 am, Yifei <[email protected]> wrote:
>
> > Hi all,
>
> > I'm having a problem with ccnet build publishers not triggering the
> > next project to build. This happens occasionally but quite often so
> > I'm wondering if anyone has experienced the same problem or knows how
> > to solve the problem.
> > Below is my ccnet.config setup.
>
> > Project_A checks for modifications with an interval trigger (this
> > sometimes fails too, it couldn't detect the modifications) and it has
> > aforcebuildpublisher which will trigger Project_B to build.
> > Project_B would then build and trigger Project_C to build and so on.
> > So the problem here is sometimes the project in theforcebuild
> > publisher did not get triggered.
>
> > <?xml version="1.0" encoding="utf-8"?>
> > <!DOCTYPE cruisecontrol
> > [
> >   <!ENTITY p_label "TEST">
> >   <!ENTITY p_wkdir "C:\p4\test">
> >   <!ENTITY p_logdir "C:\p4\test\Archive">
> >   <!ENTITY p_view "//test/...">
> >   <!ENTITY p_P4Client "yboon">
> >   <!ENTITY p_P4Port "test:1666">
> >   <!ENTITY p_P4User "yifei">
> >   <!ENTITY p_nantexe "C:\p4\test\tools\Nant-0.85\bin\nant.exe">
> > ]>
> > <cruisecontrol>
> >   <project name="Project_A" category="test">
> >     <labeller type="defaultlabeller">
> >       <prefix>&p_label;</prefix>
> >       <incrementOnFailure>true</incrementOnFailure>
> >     </labeller>
> >     <triggers>
> >       <filterTrigger startTime="23:58" endTime="05:00">
> >         <trigger type="intervalTrigger" seconds="30"/>
> >       </filterTrigger>
> >     </triggers>
> >     <workingDirectory>&p_wkdir;</workingDirectory>
> >     <artifactDirectory>&p_logdir;\Project_A</artifactDirectory>
> >     <state type="state" directory="&p_logdir;" />
> >     <sourcecontrol type="p4">
> >       <view>&p_view;</view>
> >       <client>&p_P4Client;</client>
> >       <port>&p_P4Port;</port>
> >       <user>&p_P4User;</user>
> >       <autoGetSource>true</autoGetSource>
> >     </sourcecontrol>
> >     <tasks>
> >       <nant>
> >         <executable>&p_nantexe;</executable>
> >         <buildArgs></buildArgs>
> >         <targetList>
> >           <target>test</target>
> >         </targetList>
> >         <buildFile>test.build</buildFile>
> >       </nant>
> >     </tasks>
> >     <externalLinks>
> >     </externalLinks>
> >     <publishers>
> >       <xmllogger/>
> >       <statistics/>
> >       <forcebuild>
> >         <project>Project_B</project>
> >       </forcebuild>
> >     </publishers>
> >   </project>
> >   <project name="Project_B" category="test">
> >     <labeller type="remoteProjectLabeller">
> >       <project>Project_A</project>
> >     </labeller>
> >     <workingDirectory>&p_wkdir;</workingDirectory>
> >     <artifactDirectory>&p_logdir;\Project_B</artifactDirectory>
> >     <state type="state" directory="&p_logdir;" />
> >     <tasks>
> >       <nant>
> >         <executable>&p_nantexe;</executable>
> >         <buildArgs></buildArgs>
> >         <targetList>
> >           <target>test</target>
> >         </targetList>
> >         <buildFile>test.build</buildFile>
> >       </nant>
> >     </tasks>
> >     <externalLinks>
> >     </externalLinks>
> >     <publishers>
> >       <xmllogger/>
> >       <statistics/>
> >       <forcebuild>
> >         <project>Project_C</project>
> >       </forcebuild>
> >     </publishers>
> >   </project>
> >   <project name="Project_C" category="test">
> >     ....
> >   </project>
> > </cruisecontrol>
>
> > Thanks for reading!
>
> > Yifei

Reply via email to