Opened 13 years ago

Closed 12 years ago

#56 closed enhancement (fixed)

custom properties for triggerable schedulers

Reported by: dustin Owned by: warner
Priority: major Milestone: 0.7.8
Version: Keywords:
Cc: gerg.ward+buildbot@…, bhearsum@…

Description

Discussion was here:

http://article.gmane.org/gmane.comp.python.buildbot.devel/2064

This basically provides an alternative to the dependent scheduler, allowing more sophisticated scheduling of inter-dependent builders.

Attachments (4)

trigger.patch (14.1 KB) - added by dustin 13 years ago.
buildsteps can trigger schedulers
bb-item56-0.7.6fix.patch (533 bytes) - added by gward 13 years ago.
0.7.6 compatibility fix (allows passing Trigger instances to factory.addStep())
triggerable.patch (13.9 KB) - added by dustin 12 years ago.
customprops_trigger.diff (2.9 KB) - added by redsymbol 12 years ago.
Custom props to triggers for 0.7.6. Assumes customprops076.tgz and customprops_web.diff from ticket #87 have been applied, as well as trigger.patch and bb-item56-0.7.6fix.patch from this ticket

Download all attachments as: .zip

Change History (17)

Changed 13 years ago by dustin

buildsteps can trigger schedulers

comment:1 Changed 13 years ago by dustin

Note that the tests in this patch require the patch from #57.

comment:2 Changed 13 years ago by dustin

  • Version 0.7.5 deleted

Also note that, if #71 is applied, this patch should be modified to use it.

comment:3 Changed 13 years ago by warner

  • Milestone set to 0.8.0

comment:4 Changed 13 years ago by gward

This patch is still useful and relevant with Buildbot 0.7.6. It applies cleanly, and *almost* works. In particular, it works fine as long as you keep using the 0.7.5 style of

factory.addStep(Trigger, ...)

but if you switch to the 0.7.6 style

factory.addStep(Trigger(...))

it fails. This is because BuildStep.init() is not saving enough kwargs in self.factory, which in turn is because Trigger.init() does not pass all of its kwargs up. I'll attach one possible fix (as a patch relative to Dustin's original patch).

Changed 13 years ago by gward

0.7.6 compatibility fix (allows passing Trigger instances to factory.addStep())

comment:5 Changed 13 years ago by gward

  • Cc gerg.ward+buildbot@… added

Changed 12 years ago by dustin

comment:6 Changed 12 years ago by dustin

  • Milestone changed from 0.8.0 to 0.7.7

Updated patch against latest head. This, too,has been requested a few times on the mailing list, so I'd like to see it in the next release. Available as 'triggerable.patch' in http://darcs.r.igoro.us/buildbot/trunk.

comment:7 Changed 12 years ago by spiff

Is this patch missing a patch to sourcestamp.py? I don't see where getAbsoluteSourceStamp is defined.

comment:8 Changed 12 years ago by dustin

spiff -- that's in #71.

Changed 12 years ago by redsymbol

Custom props to triggers for 0.7.6. Assumes customprops076.tgz and customprops_web.diff from ticket #87 have been applied, as well as trigger.patch and bb-item56-0.7.6fix.patch from this ticket

comment:9 Changed 12 years ago by dustin

everything but the customprops patch is available as "#56:trigger.patch" from http://darcs.r.igoro.us/buildbot/dustin/.

comment:10 Changed 12 years ago by bhearsum

  • Cc bhearsum@… added

comment:11 Changed 12 years ago by warner

I've applied all the 56-related patches from dustin's repository, and done some further cleanups on top of them (renamed schedulers= to schedulerNames=, and make updateSourceStamp be True by default). I'll look at the "custom props" patches now.

comment:12 Changed 12 years ago by warner

  • Milestone changed from 0.7.7 to 0.7.8
  • Summary changed from triggerable schedulers to custom properties for triggerable schedulers

Ok, I don't understand the "custom properties" stuff, like what is the difference between a custom property and a regular one. I'm going to rename the remainder of this ticket to "custom properties for triggerable schedulers" and push it out to the next release. At least the base triggerable stuff is now in 0.7.7 .

comment:13 Changed 12 years ago by dustin

  • Resolution set to fixed
  • Status changed from new to closed

This got solved in #87/#124.

Note: See TracTickets for help on using tickets.