History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: CCNET-1718
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Ruben Willems
Reporter: Ruben Willems
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
CruiseControl .NET

breakers are no longer exposed into the message in the dashboard, or in the xmlstatusreport, breaking bvc2 :-(

Created: 12/Oct/09 03:21 PM   Updated: 25/Jul/10 12:49 PM
Component/s: None
Affects Version/s: 1.5.0 CTP
Fix Version/s: 1.5.0 RC1

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Issue Links:
Relationship
This issue Relates to:
CCNET-514 Report which task failed through CCTray Major Closed
 


 All   Comments   Work Log   Change History      Sort Order:
Ruben Willems [12/Oct/09 03:23 PM]
also the output is not correct for the message

call a nant task, which just has the fail task,
the output in the dashboard is below :

Failed task(s): NAntTask, ArtifactCleanUpTask, XmlLogPublisher, StatisticsPublisher, ModificationHistoryPublisher, RssPublisher


the nant task is failed, but the publishers NOT !

Ruben Willems [12/Oct/09 04:43 PM]
found the issues about the publishers being marked as failed and fixed it

found the cullprit about the breakers info : xmlstatus report only shows the LAST message, not all messages :-(

now the question arises :
the xml element currently exposed is CurrentMessage, which does it's job, displaying the last message of the list

so do we
° add an array of messages to the xml status report,
° change the 'CurrentMessage' element to display all messages


also i noticed that the messages only get cleared AFTER a succesfull build,
but looking at the messages now, I think it is better to clear it at the start of every build.
the breakers are persisted.

comments are welcome

pandawood [15/Oct/09 01:12 AM]
We could do both your options while deprecating the CurrentMessage (?)

That is, add 2 new attributes, say "FailedTasks" and "Breakers"
eg <Project name="bla" ... FailedTasks="Bla" Breakers="Bob, Mary" .../>

And then, for backwards compatibility, we could also change the CurrentMessage to be this:
CurrentMessage="Breakers: Bob, Mary FailedTasks: NantTask"

Ruben Willems [15/Oct/09 01:47 AM]
this only appears in the 1.5 version.

I was thinking of an even better approach, maybe I can extend the messages with a type / kind / specification

so a message would look like this
<message>
   <type>Breakers</type>
   <value>Bob, Mary</value>
</message>

so the new messages list could look like this :
<messages>
   <message>
       <type>Breakers</type>
       <value>Bob, Mary</value>
    </message>

   <message>
       <type>FailingTasks</type>
       <value>Nant</value>
    </message>

   <message>
       <type>Fixers</type>
       <value>John</value>
    </message>
</messages>

Should there be another type of message in the future, this would be easier to maintain Cradiator

the above layout is just an idea, if you have comments/remarks, feel free to post





pandawood [15/Oct/09 09:11 PM]
RIght yeah, I think for compatibility going forward your last suggestion is probably the best one.

Ruben Willems [18/Oct/09 02:37 PM]
ok, the xmlfeed is ready, now just need to fix the dashboard
and all should be ready

pandawood [19/Oct/09 11:54 PM]
Thanks, I've downloaded the latest build and I can see some message attributes.

Some issues I noticed (for Cradiator and our teams purpose, anyway ;-)
(I will come and get my hands dirty on the code after making this comment too, so instead of just finding stuff, I can submit or suggest changes to save you time)

1) when lastBuildStatus="Failure" there are some projects that have no messages
For us, there should always be a message to indicate the reason for the failure.

eg
<Project name="Commit11.4.CU2" category="" activity="Sleeping" lastBuildStatus="Failure" lastBuildLabel="UNKNOWN" lastBuildTime="2009-10-16T15:18:23.0612365+11:00" nextBuildTime="2009-10-20T15:19:36.1501627+11:00" webUrl="http://c11build02/ccnet/server/C11Build02/project/Commit11.4.CU2/ViewLatestBuildReport.aspx" CurrentMessage="" BuildStage="" serverName="C11BUILD02">
<messages/>
</Project>

2) Repeated messages for some projects
I think only unique messages should show (or perhaps indicate the 'current one' if someone else needs all that info)
eg
<Project name="IntegrationPublish" category="" activity="Sleeping" lastBuildStatus="Failure" lastBuildLabel="11.5.7243" lastBuildTime="2009-10-20T11:40:31.2908828+11:00" nextBuildTime="2009-10-20T15:19:37.4405808+11:00" webUrl="http://C11Build02/ccnet/server/C11Integration3/project/IntegrationPublish/ViewLatestBuildReport.aspx" CurrentMessage="Failed task(s): NAntTask, MergeFilesTask, XmlLogPublisher, StatisticsPublisher" BuildStage="" serverName="C11INTEGRATION3">
<messages>
<message text="Breakers : dn, hb" kind="NotDefined"/>
<message text="Failed task(s): NAntTask, MergeFilesTask, XmlLogPublisher, StatisticsPublisher" kind="NotDefined"/>
<message text="Breakers : hb, dn" kind="NotDefined"/>
<message text="Failed task(s): NAntTask, MergeFilesTask, XmlLogPublisher, StatisticsPublisher" kind="NotDefined"/>
<message text="Breakers : cruise, dn, hb" kind="NotDefined"/>
<message text="Failed task(s): NAntTask, MergeFilesTask, XmlLogPublisher, StatisticsPublisher" kind="NotDefined"/>
<message text="Breakers : mlangsworth, vsublette, dn, hb, cruise" kind="NotDefined"/>
<message text="Failed task(s): NAntTask, MergeFilesTask, XmlLogPublisher, StatisticsPublisher" kind="NotDefined"/>
</messages>
</Project>

3) Also for 'CurrentMessage' - I'd suggest that it stay as only "breakers" for backward compatbility, if nothing else?

But since I've got kind="NotDefined", I'm guessing I might have done something wrong as well ;-)

Ruben Willems [23/Oct/09 02:20 AM]
did you update CCNet server, dashboard and tray?

pandawood [26/Oct/09 01:03 AM]
Yep, I've updated again, and it seems about right.
However, we still get the lastBuildStatus="Failure" with no messages (this should never happen)
It's seems to be whenever CCnet polls, the messages get cleared.

So, we got exactly what we wanted today in the XML, but 10 seconds later (our poll interval) the XML returned didn't include the messages, even thought the build was still classed as a Failure.
If we could stop the clearing of messages in this way, it should be sweet.

Ruben Willems [26/Oct/09 02:21 AM]
hmm...
some messages are (should) only be erased at the beginning of a build, not on every poll.
looking into it ...


so you have a failed build, messages element is ok,
next poll of the ccnet project checks for modifications, and the messages are removed.
that is the situation you describe ?

Ruben Willems [26/Oct/09 05:58 AM]
found the problem and fixing it ...

Ruben Willems [26/Oct/09 06:08 AM]
can you re-check?

take latest source, should be ok now.

pandawood [01/Nov/09 05:30 PM]
Yep, I believe that's it!
I'm just making the final changes to "Cradiator" (bvc2) to match

Ruben Willems [02/Nov/09 12:58 AM]
Just to be 100% sure, can you confirm that it is solved ?