diff --git a/buildbot/master/files/config/factories.py b/buildbot/master/files/config/factories.py index ce61482c..5606aed7 100644 --- a/buildbot/master/files/config/factories.py +++ b/buildbot/master/files/config/factories.py @@ -204,10 +204,25 @@ def run(self): pkill_step = [self.make_pkill_step("servo")] - self.build.steps += pkill_step + dynamic_steps + for step in pkill_step + dynamic_steps: + self.add_step(step) defer.returnValue(result) + def add_step(self, step): + """\ + Adds a new step to this build, making sure to maintain internal + Buildbot invariants. + Semi-polyfill for addStepsAfterLastStep from Buildbot 9. + """ + step.setBuild(self.build) + step.setBuildSlave(self.build.slavebuilder.slave) + step.setDefaultWorkdir(self.workdir) + self.build.steps.append(step) + + step_status = self.build.build_status.addStepWithName(step.name) + step.setStepStatus(step_status) + def make_step(self, command): step_kwargs = {} step_env = copy.deepcopy(self.environment)