When the source control repository is unreachable cruise control keeps going back to check for modifications. While the latest build was successful the dashboard reports failure but cctray reports success.
Is there some way I can catch this scenario and have these two agree?
This is actually due to an issue in CruiseControl; not CCTray itself.
If source control fails (say because of a timeout or connection failure) the following will be true:
Exception
as the project is currently in an error stateSuccess
for the last build statusCruiseControl only reports - natively - the last build status via the API that CCTray uses. Getting it to inspect the project status is more complicated and ends up being less efficient. As such the CCTray reports the 'status' as the last build status rather than a hybrid of the two.
The WebDashboard shows the project status and the last build status hence true status of the project is better evaluated.
This issue has several other side-effects; such as
projectTrigger
s firing in this circumstance; as these also do not check the project status.Ideally CCTray - and
projectTrigger
s, et. al - would check both the project status and last build status and report the outcome as a combination of both.