[Buildbot-devel] Skip some build steps if one of the build slaves fails a given step.

Tsuna tsuna at lrde.epita.fr
Tue May 15 09:30:32 UTC 2007

On Tue, May 15, 2007 10:44, Brian Warner said:
> "Tsuna" <tsuna at lrde.epita.fr> writes:
>> Would it be possible to skip a step if one of the build slaves fails a
>> given step?
>> I'd like to do this because I'm cross-compiling several projects and
>> cross-compiled binaries cannot run `make check' (for obvious reasons).
> Do you know ahead of time which builders are doing cross-compilation and
> which are capable of doing 'make check'?


> [SNIP]
> You could also construct the list of steps such that the cross-compile
> builds just don't do the 'make check' step at all.

Yeah, that's what I already do.

>> I'd like to skip the upload step of all build slaves if at least one of
>> them failed its `make check'.
> Ah, you want a control flow that makes some piece of all the builds
> dependent
> upon each other, something vaguely like:
>  A compile -- test ----\            /--> upload
>  B compile -- test -----+--> AND --+--> upload
>  C compile -- test ----/            \--> upload
> Hmm, that's trickier. We have "Dependent Schedulers" to allow a *single*
> build to be triggered when a number of other "upstream" builds all
> succeed, but in this case you want a single piece of *each* build to be
> conditioned upon the state of the other builds.

Yes, this is *exactly* what I'd like to do.

> [SNIP]

Yes, it was already said that this wasn't possible with the current code
of BuildBot and that doing this would require a lot of hacking.  I'm going
to dive into BuildBot and do this myself, instead I used a workaround so
that whenever a builder fails, it removes all tarballs uploaded for this
revision (the name of the tarball starts with "r<N>-" so it's rather easy)

Nevertheless, I think this is the kind of feature that would be cool to
have if someone feels like implementing this at some point.  :)



Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory

More information about the devel mailing list