3

Say, I have a project with 4 different jobs (builders):

  1. Library
  2. Binary A (dependent on Library)
  3. Binary B (dependent on Library)
  4. Package (dependent on Binary A and Binary B)

and I would like to setup Continuous Integration using BuildBot. At the moment I use Triggerable schedulers to trigger Binary A and Binary B builds once Library has been rebuilt. At the same time Triggerables are used to trigger Package build once Binary A or Binary B has been rebuilt.

This setup is works okay in case of changes made to either Binary A or Binary B. But when changes made to Library, I've got triggered builds for Binary A and Binary B. And each of them triggers Package rebuild, as a result Package has been rebuilt twice. Is there a way to overcome this issue in Buildbot?

In other words I would like to get Package to be rebuilt only once after both Binary A and Binary B has been rebuilt.

reddot
  • 764
  • 7
  • 15

1 Answers1

1

You can create one Builder that checks out and builds all 4 things, serially.

Jared Grubb
  • 1,139
  • 9
  • 17
  • yeah. I'm actually used serial solution for a while. But in our case Binary A and Binary B are both long-compiled components and it's preferable to build them in parallel. – reddot May 30 '16 at 08:43
  • You could have a top-level build that does three things: (1) build library; (2) trigger builds of A and B and wait-to-finish; (3) build package. – Jared Grubb May 31 '16 at 04:46
  • thanks. Provided solution actually solves case in the question. – reddot Jun 03 '16 at 08:37