[Buildbot-devel] Build Properties through the DB / data API

Pierre Tardy tardyp at gmail.com
Thu Nov 20 17:51:59 UTC 2014

> As properties can be of compound value (dict, lust, whatever), we
> can't get rid of JSON. As to if the source belong to the 'value' of
> the properties, this disturbed me at first as well, but when I started
> thinking about it, I did not really see a real interest in making it a
> real column (as we can't get rid of JSON). I think we can continue go
> on treating it as part of the 'value' (at the DB level, that is).

I agree that the format of value should still be json. But for most of the
properties, the value is a string or an int. So having value separated in a
column will allow simple queries for such simple properties. If we keep the
value/source in a single column, this makes all queries difficult.

> The biggest question was: Where in DB ? should we make a sister-table
> for each table that can possibly have properties (like change /
> change_properties, buildset / buildset_properties, ...), or is it fine
> to just have a build_properties table ? Do slave properties also
> belong there ? Scheduler properties ? Builder properties ? Other
> properties ?
For me a build_properties table is good enough.
 we already have buildset and changes. For other object that have
properties attached, I dont think we really need to put them in a table, as
those are configuration properties. We may have an extra column, with a
json for such stuff.
At some point I did propose to have a configuration object to store
configuration stuff in a json blob attached to slave, schedulers, builders,
and other stuff that you can configure. Anyway, for me this is clearly not
part of this work.

> Which properties are allowed to change value during a build ? I.e.
> should they be bound to the build itself, or to their 'origin' ?
> That's what I meant with 'in eight was everything better'.
All build properties area allowed to change during the build. (they will
actually loose their original source)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20141120/9283f05a/attachment.html>

More information about the devel mailing list