← Back to team overview

launchpad-dev team mailing list archive

Displaying lists of generic builds (code + translations)

 

Hi Aaron and others,

The builder history and ppa builds pages have now been updated to
display general builds now (instead of just BinaryPackageBuilds), but
SPRecipe build will need to be updated to use the new build tables
(buildfarmjob, packagebuild). This will hopefully be straight-forward,
involving:

0. A schema change to remove lots of columns from
sourcepackagerecipebuild, and add a package_build reference, along
with a migration for the current SPRBuilds in the db.
1. Updating ISPRecipeBuild to inherit from IPackageBuild instead of IBuildBase
2. Updating SPRecipeBuild to inherit from PackageBuildDerived (which
looks after the delegation of IPackageBuild attributes) instead of
BuildBase
3. search-and-replace various old attribute names (ie.
IBuildbase.datecreated is replaced by IBuildFarmJob.date_started, etc)
- your excellent tests will catch these for you :)
4. Update any queries that will now need to join SPRecipeBuild.package_build

For translations, the process will be similar, but using
IBuildFarmJob/BuildFarmJobDerived directly (replacing the old
in-memory build farm job that is currently used), although I haven't
looked closely - there may be other details.

Once this has been done, you will see your builds on the builder
history page (and for recipe builds also on the PPA builds page). Then
we can finally remove lots of code! On the cards so far are (if I've
missed anything, please chime in):

1. Removing the old in-memory build farm job implementation
2. Initially removing the temporary queue-related custom records
(buildpackagejob) that exist only to link a build with a job-farm job
and replacing them with a job reference on BuildFarmJob (and
delegating many IBuildFarmJob attributes).
3. Eventually subsuming most (if not all) of IBuildFarmJob with IJob
(the custom status' were the sticking point the last time this was
discussed).

Cheers,
Michael