Present other build types in a PPA context
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Michael Nelson |
Bug Description
Note: the soyuz aspect of this bug is complete, but other apps will need to update to the new db-schema before their builds will appear.
Now that we'll have other types of builds being published within a PPA context (SourcePackageR
Currently both ISourcePackageR
So the traversal for builds in a PPA context is:
/~person/
but this presents binary builds only (as historically they were the only type of build).
To enable other types of builds (such as SPRecipeBuilds) to be included in such plurals, we've chatted about this within our Soyuz team as well as with other LP devs:
https:/
and would like to go with a "One data entity per class", with a separate BuildFarmJob table, so that a soyuz PackageBuild would encapsulate the BuildBase record + the (Binary)Build record. Similarly, the SourcePackageRe
This would enable simply finding all the builds for an archive (or in other contexts also), and presenting them as one continuous history, and also using the one url traversal for all builds (as the id would be on the BuildBase class.) But it would be a bit more work than the simple schema change, due to the way we currently optimise queries for builds, and also that we currently have IHasBuilds which is used in a few contexts and assumes certain things (such as an architecture field).
The current build-related tables with their relation ships can be seen here:
See http://
After discussion, William proposed the following as the new organisation of builds:
http://
Related branches
- Henning Eggers (community): Approve (code)
-
Diff: 1137 lines (+424/-145) (has conflicts)28 files modifiedlib/canonical/buildd/apply-ogre-model (+0/-39)
lib/canonical/buildd/binarypackage.py (+7/-17)
lib/canonical/buildd/debian.py (+1/-40)
lib/canonical/buildd/debian/changelog (+7/-0)
lib/canonical/buildd/debian/rules (+2/-2)
lib/canonical/buildd/debian/upgrade-config (+11/-0)
lib/canonical/buildd/template-buildd-slave.conf (+0/-1)
lib/canonical/buildd/tests/buildd-slave-test.conf (+0/-1)
lib/canonical/launchpad/templates/launchpad-form.pt (+6/-3)
lib/canonical/widgets/product.py (+3/-1)
lib/lp/buildmaster/configure.zcml (+6/-0)
lib/lp/buildmaster/interfaces/packagebuild.py (+26/-1)
lib/lp/buildmaster/model/packagebuild.py (+45/-2)
lib/lp/buildmaster/tests/test_packagebuild.py (+49/-6)
lib/lp/code/browser/sourcepackagerecipe.py (+12/-3)
lib/lp/code/browser/tests/test_sourcepackagerecipe.py (+56/-7)
lib/lp/code/model/sourcepackagerecipedata.py (+2/-0)
lib/lp/registry/doc/product-widgets.txt (+45/-2)
lib/lp/registry/model/sourcepackage.py (+5/-3)
lib/lp/soyuz/configure.zcml (+5/-0)
lib/lp/soyuz/interfaces/archive.py (+6/-0)
lib/lp/soyuz/interfaces/buildrecords.py (+11/-6)
lib/lp/soyuz/model/archive.py (+14/-4)
lib/lp/soyuz/model/binarypackagebuild.py (+21/-0)
lib/lp/soyuz/tests/test_archive.py (+1/-1)
lib/lp/soyuz/tests/test_binarypackagebuild.py (+37/-0)
lib/lp/soyuz/tests/test_hasbuildrecords.py (+31/-0)
lib/lp/testing/factory.py (+15/-6)
- Graham Binns (community): Approve (code)
-
Diff: 372 lines (+120/-31)11 files modifiedlib/lp/buildmaster/interfaces/buildfarmjob.py (+28/-0)
lib/lp/buildmaster/model/builder.py (+1/-1)
lib/lp/buildmaster/model/buildfarmjob.py (+38/-2)
lib/lp/buildmaster/tests/test_buildfarmjob.py (+16/-1)
lib/lp/registry/model/distroseries.py (+2/-2)
lib/lp/soyuz/browser/archive.py (+4/-0)
lib/lp/soyuz/browser/build.py (+10/-3)
lib/lp/soyuz/configure.zcml (+2/-1)
lib/lp/soyuz/interfaces/binarypackagebuild.py (+0/-1)
lib/lp/soyuz/model/binarypackagebuild.py (+10/-7)
lib/lp/soyuz/tests/test_binarypackagebuild.py (+9/-13)
Changed in soyuz: | |
assignee: | nobody → Michael Nelson (michael.nelson) |
Changed in soyuz: | |
status: | Triaged → In Progress |
description: | updated |
description: | updated |
Changed in soyuz: | |
status: | In Progress → Triaged |
assignee: | Michael Nelson (michael.nelson) → nobody |
description: | updated |
Changed in soyuz: | |
milestone: | 10.03 → 10.04 |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in soyuz: | |
status: | Fix Committed → Triaged |
tags: | removed: qa-needstesting |
Changed in soyuz: | |
milestone: | 10.04 → 10.05 |
Changed in soyuz: | |
milestone: | 10.05 → 10.06 |
Changed in soyuz: | |
status: | Fix Committed → Fix Released |
William also created this schema:
http:// people. ubuntu. com/~wgrant/ launchpad/ buildfarm/ new-build- model.png