Code review comment for lp:~jtv/launchpad/db-bug-499404

Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

= Bug 499404 =

This implements some new classes that will be needed for Rosetta to run jobs on the generalised build farm. The job in question is generating translation templates based on a source-code branch, and will require a lot more work before it goes operational.

Generalisation of the build farm is ongoing work, so its APIs etc. are not complete yet. What you find here is:

1. An implementation of IBuildFarmJob—a new class representing a job that can be dispatched to the build farm. It's called TranslationTemplatesBuildJob. The only "payload" in this new class is a reference to the branch that the job is to check out. There's also a reference to Job, which holds the generic part of the jobbing information.

2. A BuildFarmJobSet utility—to produce and navigate jobs of the new type. It also creates a BuildQueue record for each job it creates; these records are matched to the records of the new type in that they both refer to the same Job record.

3. A new IBuildFarmJobBehavior implementation for dispatching the new job type to the build farm, with an adapter associating it with TranslationTemplatesBuildJob. More may be needed there in the future.

There's not much I can do to test the main IBuildFarmJobBehavior method right now; we'll need more of the building to be operational before we get to that. But work is in progress and I'm filing separate bugs for this.

To test:
{{{
./bin/test -vv -t translationtemplatesbuild
}}}

No lint.

Jeroen

« Back to merge proposal