Merge lp://staging/~michael.nelson/launchpad/567922-binarypackagebuild-packagebuild-2 into lp://staging/launchpad/db-devel
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Michael Nelson | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 9405 | ||||
Proposed branch: | lp://staging/~michael.nelson/launchpad/567922-binarypackagebuild-packagebuild-2 | ||||
Merge into: | lp://staging/launchpad/db-devel | ||||
Prerequisite: | lp://staging/~michael.nelson/launchpad/567922-binarypackagebuild-packagebuild | ||||
Diff against target: |
664 lines (+293/-68) (has conflicts) 11 files modified
lib/lp/buildmaster/interfaces/buildbase.py (+10/-1) lib/lp/buildmaster/interfaces/buildfarmjob.py (+11/-1) lib/lp/buildmaster/interfaces/packagebuild.py (+43/-0) lib/lp/buildmaster/model/buildbase.py (+58/-28) lib/lp/buildmaster/model/buildfarmjob.py (+4/-0) lib/lp/buildmaster/model/packagebuild.py (+33/-0) lib/lp/buildmaster/tests/test_buildbase.py (+61/-12) lib/lp/buildmaster/tests/test_buildfarmjob.py (+1/-0) lib/lp/buildmaster/tests/test_packagebuild.py (+38/-12) lib/lp/soyuz/doc/buildd-slavescanner.txt (+2/-1) lib/lp/soyuz/tests/test_build.py (+32/-13) Text conflict in lib/lp/buildmaster/interfaces/buildbase.py Text conflict in lib/lp/buildmaster/model/buildbase.py Text conflict in lib/lp/buildmaster/tests/test_buildbase.py |
||||
To merge this branch: | bzr merge lp://staging/~michael.nelson/launchpad/567922-binarypackagebuild-packagebuild-2 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jeroen T. Vermeulen (community) | code | Approve | |
Brad Crittenden (community) | Abstain | ||
Jelmer Vernooij | code | Pending | |
Review via email: mp+24211@code.staging.launchpad.net |
Description of the change
This branch is part of a pipeline for
https:/
https:/
Overview
========
The changes in this branch continue the preparation to switch the BinaryPackageBuild class from the old build table to the new collection of 3 tables (buildfarmjob, packagebuild and binarypackagebuild, similar to http://
The previous MP started this (adding the attributes with specific API versions):
https:/
This branch mainly consists of making sure that the BuildFarmJob/
(1) ensuring IBuildBase (and its implementation) still function correctly as it is used by other classes which will be updated in later work (ie. SourcePackageRe
(2) we don't duplicate the implementation during the transition (so that there's no possibility of divergence).
To achieve these two points, I had to turn some of the BuildBase methods into staticmethods with the build as the first argument so the implementation can be used by both IBuildBase and IPackageBuild.
This branch is dependent on the pending schema patch in a previous branch.
To test
=======
First update the test db schema (required as the db patch still needs to be updated to remove the old build table):
psql launchpad_
bin/py database/
And then:
bin/test -vvt test_packagebuild -t test_buildfarmjob -t doc/build.txt -t test_buildqueue -t test_sourcepack
(there is one intentional test failure in test_buildfarmjob for a method that can't be implemented until I switch BinaryPackageBuild to the new delegation model of IPackageBuild/
The next branch will continue to transfer the interface to IBuildFarmJob/
Outstanding questions
=================
Because BuildBase is currently shared by SPRecipeBuild and BinaryPackageBuild, I've basically just ensure that the equivalently shared model in the new schema - IPackageBuild - gets these attributes/methods, but they could sensibly be on IBuildFarmJob instead, so that they were available for all build farm jobs (ie. including TranslationsTem
Michael I had some questions I wanted to discuss with you on IRC to help me understand what you're doing here.
Since you aren't around due to hitting EOD I am going to abstain on this branch so you can get a review first thing tomorrow, hopefully by someone who is already familiar with this effort.