Merge lp://staging/~michael.nelson/launchpad/567922-binarypackagebuild-packagebuild-4 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-4 | ||||
Merge into: | lp://staging/launchpad/db-devel | ||||
Prerequisite: | lp://staging/~michael.nelson/launchpad/567922-binarypackagebuild-packagebuild-3 | ||||
Diff against target: |
711 lines (+184/-237) (has conflicts) 11 files modified
BRANCH.TODO (+6/-0) lib/lp/buildmaster/interfaces/buildfarmjob.py (+40/-34) lib/lp/buildmaster/model/buildfarmjob.py (+109/-97) lib/lp/buildmaster/model/packagebuild.py (+8/-71) lib/lp/buildmaster/tests/test_buildfarmjob.py (+0/-12) lib/lp/code/model/sourcepackagerecipebuild.py (+4/-4) lib/lp/soyuz/interfaces/buildfarmbuildjob.py (+2/-2) lib/lp/soyuz/model/buildpackagejob.py (+6/-6) lib/lp/soyuz/tests/test_buildpackagejob.py (+3/-3) lib/lp/translations/model/translationtemplatesbuildjob.py (+3/-4) lib/lp/translations/tests/test_translationtemplatesbuildjob.py (+3/-4) 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-4 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Abel Deuring (community) | code | Approve | |
Review via email: mp+24356@code.staging.launchpad.net |
Description of the change
This branch is part of a pipeline for
https:/
https:/
Overview
========
The changes in this branch just do a bit of cleaning up after the refactoring of the past 3 branches.
The previous 3 branches added all the IBuildBase attributes and methods to IBuildFarmJob/
This branch does some retrospective cleaning up.
Details
=======
The previous branches update the IBuildFarmJob as planned so that new database-backed BuildFarmJob/
So, to simplify the ongoing refactoring work, I split out IBuildFarmJobOld from IBuildFarmJob, where IBuildFarmJobOld is the exact interface that existing classes currently expect, while IBuildFarmJob is a superset representing the new database-backed objects. I also added a note in the BRANCH.TODO that these *Old classes will be removed before the branch is landed.
This allowed IBuildFarmJob and IPackageBuild to be simplified, as they no longer need to worry about whether they are representing a database-backed object or not.
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 either:
bin/test -vvt test_*build (lots of tests), or for a quicker run:
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 (finally) the work to switch BinaryPackageBuild from the old build table to the new buildfarmjob/