Merge lp:~jtv/launchpad/bug-499404 into lp:launchpad
| Status: | Merged |
|---|---|
| Approved by: | Jeroen T. Vermeulen on 2010-01-12 |
| Approved revision: | not available |
| Merged at revision: | not available |
| Proposed branch: | lp:~jtv/launchpad/bug-499404 |
| Merge into: | lp:launchpad |
| Diff against target: |
444 lines (+374/-6) 7 files modified
lib/lp/buildmaster/interfaces/buildfarmjob.py (+6/-6) lib/lp/code/model/branchjob.py (+6/-0) lib/lp/translations/configure.zcml (+29/-0) lib/lp/translations/interfaces/translationtemplatesbuildjob.py (+37/-0) lib/lp/translations/model/translationtemplatesbuildbehavior.py (+79/-0) lib/lp/translations/model/translationtemplatesbuildjob.py (+85/-0) lib/lp/translations/tests/test_translationtemplatesbuildjob.py (+132/-0) |
| To merge this branch: | bzr merge lp:~jtv/launchpad/bug-499404 |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Julian Edwards (community) | code | 2010-01-11 | Approve on 2010-01-12 |
|
Review via email:
|
|||
Commit Message
IBuildFarmJob type for generating translation templates.
| Jeroen T. Vermeulen (jtv) wrote : | # |
| Julian Edwards (julian-edwards) wrote : | # |
Hi Jeroen! This is a great start, thanks also for cleaning up the docstrings. I'll just re-iterate here what we discussed in person for future reference:
* You need a verifyObject on the ITranslationTem
* Remove the XXX on line 171 next to build_type.
* The fault handling in dispatchBuildTo
* _getChroot is not returning a chroot! I can see what you were starting to do though, returning the nominatedarchindep arch chroot for the series in question is the right thing.
* test_getChroot should poke a dummy file into the librarian for the chroot for the pertinent distroarchseries. It should then assert that the one that _getChroot returns is the same file.
* There's no test for score().
Cheers
J
| Jeroen T. Vermeulen (jtv) wrote : | # |
All done. Filed bug 506243.

= 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. Called TranslationTemp latesBuildJob, it's a derivative of BranchJob found in the Code tree.
2. A BuildFarmJobSource utility—to produce and navigate jobs of the new type. This follows the pattern of the BranchJobSource utilities from the Code hierarchy. 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 IBuildFarmJobBe havior implementation for dispatching the new job type to the build farm, with an adapter associating it with TranslationTemp latesBuildJob. More may be needed there in the future.
This branch does not test how the Behavior class dispatches jobs to builders; I don't think that's tested for the existing classes either and I'm not sure that part of the build-farm generalization is quite ready for use yet.
To test: latesbuild
{{{
./bin/test -vv -t translationtemp
}}}
No lint.
Jeroen