
Rene Rivera wrote:
Jason Sankey wrote:
I would like to add another possibility into the mix, if I may. I am a founder and developer at Zutubi (http://zutubi.com/).
Interesting. A few questions, after having a brief glance at your docs...
Would you say your product aims to cover the combined area that Buildbot, build/test collection (CTest, Boost regression.py, Dartboard, and partly Buildbot), and reporting (Dartboard, and Boost XSL reports) encompass?
The closest match in that list is Buildbot, although you are right that our features and reporting cover more ground including overlapping with the other tools you mention. In particular the unit test results are pulled directly into the Pulse UI as they are such an important part of the build/test cycle.
I see the server is a Java application. Do the agents also require Java?
Yes, the master and agents both require a JVM. The agents are lightweight and throwaway, the master maintains the persistent data on disk and in an embedded or (preferrably) external database.
Do you support client-to-server connection model for agents, instead of the server-to-client one described in the docs?
There is only one connection model, which is bi-directional and over HTTP. The master pings agents to detect when they are available, and agents forward build events back to the master.
Is there a description of the SQL DB schema available?
There is not, although we are open to it. However, for most external integration we prefer usage of the XML-RPC remote API as it is usually simpler and more likely to remain compatible across versions.
Is non-SCM build/testing supported? In particular, obtaining source snapshots in the form of archives from a web server?
Not in the current release, but it should be possbile in the coming release (aiming for beta next month) as we are making SCMs pluggable.
--Does the subversion change monitoring occur as a watchdog or as an svn post-commit script? Or are both supported?-- Scratch that, found the answer :-)
For the benefit of the list both are supported. The default is polling as it works "out of the box" but triggering builds via the remote API is possible from a post-commit hook.
Do you have support for independent builders & testers to post results outside of the master-agent framework?
Not at present.
Can a single executed recipe command sprout multiple result data points without output post-processing?
I am not sure what sort of output data points you are referring to hear? Generally speaking, a single command just succeeds or fails. Post-processing is used to extract further useful information such as errors, warnings and test results.
Does the output post-processing happen on the client or server?
Post-processing happens during the build on the agent that runs the build. It is also possible to execute arbitary post-build commands on the master, but these cannot contribute errors or test results to the build itself.
Are dynamic file artifacts supported? And by dynamic I mean a variable set of generated files.
You can capture files using wildcards quite flexibly.
I'm a bit confused about your arrangement of projects, builds, and agents...
* Is it possible to control which agents get particular builds?
Yes. You can assign build stages to specific agents or to any "capable" agent. A capable agent is determined by the resources available on an agent. Resources are configured via the web UI per-agent, and can be used to represent many things like available build tools, runtimes, the host operating system or logical agent groups.
* Is it possible to to have sub-projects?
There is no current concept of sub-projects. We do have project groups (for grouping in the UI).
* Can an agent performs builds for multiple projects?
Yes, but presently agents will only run one build at a time.
* Can one or more builds on one or more agents depend on the success of one or more builds on one or more agents?
It is possible to trigger the build of one project when the build of another project completes, optionally only if the original build succeeds. This cannot be parameterised by agent at the moment.
Is it possible to have dynamic builds? By this I mean builds for which the commands, i.e. the recipe(s), change before or during the build itself.
You cannot modify the Pulse recipes during the build. However, we prefer for Pulse recipes to be as simple as possible, with as much of the build logic as possible being left to an underlying build tool (like make or bjam). Basically, these tools are better at that part of the process and are not tied to Pulse, and Pulse just aims to interoperate with them,
Is it possible to add additional notification methods, for example IRC or SMS? And how hard/easy would it be?
Custom notifications are currently possible using post-build actions. If you can do it from the command line, then you can trigger it quite easily with a post build action. We are also looking at making notifications pluggable (currently we provide email, jabber and Windows system tray out of the box). Hope that helps clarify some points, Jason