Howdy folks Next week is UDS, which I am attending, so I won't be spending much time on the generic build farm jobs work.
Muharem has been working on a branch to convert the schema (which jml approved today) and to change our code that uses it to work with the new schema. It is largely done, and we hope to land it today. https://code.edge.launchpad.net/~al-maisan/launchpad/bqim-479079 Once it has landed, this opens the door for some Translations and Code work. Namely: * New tables, BuildPackageBranchJob, BuildPackageRecipeJob and BuildTranslationsJob (or similar names as you prefer) * Model code for new tables The new tables should reference the Job table, other than that you are free to have whatever data you need for this build job type. I expect you'll need to spend some time working this out. The model code should implement the interface ISoyuzJob (although this is a terrible name, it will be changed) which is declared in lib/lp/soyuz/interfaces/soyuzjob.py. See lib/lp/soyuz/model/buildpackagejob.py for an example of something that implements it. Tim and Danilo, I think you're putting mwh and jtv on these tasks? Michael N, who is at UDS for the first 2 days, will start the refactoring work on IBuilder when he gets back (Hi Michael!). The current implementation is very Soyuz-specific and references Builds and the like. We need to separate it into a basic IBuilder and more specific IPackageBuilder non-model class. Once that is done, we can start writing IPackageBranchBuilder etc which will deal with the specifics of handing off and receiving jobs of other types to/from the build farm. The underlying IBuilder should be doing most of this work and it's up to Michael to figure out how it will work, exactly. There is one nightmare part to this - the implementation of IBuilder.findBuildCandidate(). This is currently a very ugly query that decides which job to dispatch next, based on a few criteria about the jobs. I expect it to get to troll-like ugliness by the time we finish and I'm not sure how it will work yet, it depends on how Michael re-factors IBuilder and sets up an interface that other builders must implement. See more details here: https://dev.launchpad.net/Soyuz/Specs/BuilddGeneralisation which includes the project plan as a Planner attachment. Cheers J _______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp

