[Buildbot-commits] [Buildbot] #2654: [nine] Handle build status compatibly
Buildbot trac
trac at buildbot.net
Tue Feb 18 11:17:06 UTC 2014
#2654: [nine] Handle build status compatibly
-------------------+--------------------
Reporter: dustin | Owner:
Type: task | Status: new
Priority: major | Milestone: 0.9.0
Version: | Resolution:
Keywords: |
-------------------+--------------------
Comment (by tardyp):
on buildbot 0.8.x step have 2 way of stating their status as text
{{{
#!python
step.setText(list_of_strings)
}}}
This is the status text displayed in the step part of the UI. Some steps
are using description, and descriptionDone parameters to set respectively
the status when step is running, and when step has succeed.
{{{
#!python
step.setText2(list_of_strings)
}}}
This is the status text that is concatenated for the build part of the UI.
It is used in the top of a build part, but more importantly on the build
list (aka onelineperbuild) and allows to quickly see why this build
failed.
The build's status is the concatenation of
- build results as text: eg. Failed
- all steps's text2
As the build's status is a concatenation of possibly a number of steps's
text2. So this must be very concise, and set only if really needed.
I can see several problems to this approach.
- names are bad. text and text2 does not assess at all where this text
will be used in the UI
- having the step's text being a list of strings is confusing for custom
step writers. The type is not checked, and you'll often get bugs having
strings being automatically converted as list of single chars.. I don't
see a clear reason why we would keep the list of strings for state_strings
- You cannot quickly see which step wrote which state string, so that we
cannot make a nice mouseover UI over the list to have quick access to the
logs
As we already changed the step data in buildbot nine, I would propose the
following:
- change db backend to use state_string instead of state_strings
- keep setText() api, but " ".join() it if it is sent a list, and store
the text result in the data api
- mark setText2() api as deprecated
- change the state_strings format in the builds to be a dictionary
{{{
{
'global': "SUCCESS"
'<stepid1>': "make failed"
}
}}}
--
Ticket URL: <http://trac.buildbot.net/ticket/2654#comment:1>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation
More information about the Commits
mailing list