Typical manual branch build use-cases

Note: the following mockups do not try to fit the current implementation of bzr builder recipes or the corresponding current LP models.

Build my bugfix branch - existing recipe

Guilherme has his own branch of the Toggle project that fixes a bug and would like to build and publish the resulting package in his PPA.

While viewing his branch, Guilherme:

  1. Clicks on the "Build this branch" link, (MOCKUP REQUIRED)
  2. A "Build this branch to a PPA" overlay appears displaying a selection for his target PPA and someone elses recipe that has been created to build toggle branches (shown below). Guilherme selects his target PPA where he wants the package to be published. By default, the recipe selector is displaying "toggle_std_pkging by Toggle Dev Team" and the displayed recipe description states "This is the default recipe for building Toggle. It merges the official packaging branch only." The description also informs him that the recipe targets Lucid and 9.10. Guilherme realises that it's exactly what he wants and simply clicks "Build now".

Build now overlay

  1. The overlay disappears and the branch page is updated with a "Recent builds" portlet listing the new build and its status (MOCKUP REQUIRED), linking to (somewhere appropriate within) the PPA.

Notes

See Initial cut for further details.

Build my bugfix branch - new recipe

Guilherme has his own branch of the Toggle project that fixes a bug and would like to build and publish the resulting package in his PPA.

While viewing his branch page, Guilherme:

  1. Clicks on the "Build this branch" link, (MOCKUP REQUIRED),
  2. A "Build this branch to a PPA" overlay appears displaying a selection for his target PPA and someone elses recipe that has been created to build toggle branches (shown below). Guilherme selects his target PPA where he wants the package to be published, and then reads the recipe description and realises straight away that it's not what he wants. He clicks on the recipe selector and selects the only other option. He reads the description of this second recipe, realises it's also not something he can re-user, and so clicks on the "Create a new recipe" link.

Build now overlay

  1. The overlay transitions (fade in/out) to a "Create a build recipe for Toggle" overlay (shown below). Guilherme enters a useful name and description for his new recipe, selects his packaging branch and clicks save.

Create recipe

  1. The overlay transitions back to the previous "Build this branch to a PPA" dialog, with his new recipe already selected. Guilherme clicks 'Build now'.
  2. The overlay disappears and the branch page is updated with a "Recent builds" portlet listing the new build and its status, linking to (somewhere appropriate within) the PPA.

Notes

See Initial cut for further details.

Initiating a build for a specific branch version or target distro series

Note: this scenario (which uses the build options) will not be included in the initial cut. See Initial cut for further details.

A week later, Guilherme needs to create and publish a specific version of his branch into a separate PPA. While viewing his branch, Guilherme:

  1. Clicks on the "Build this branch" link, (MOCKUP REQUIRED)
  2. A "Build this branch to a PPA" overlay appears displaying a selection for his target PPA and someone elses recipe that has been created to build toggle branches (shown below). Guilherme selects his target PPA where he wants the package to be published. By default, the recipe selector is displaying "toggle_std_pkging by Toggle Dev Team" and the displayed recipe description states "This is the default recipe for building Toggle. It merges the official packaging branch only." The description also informs him that the recipe targets Lucid and 9.10. Guilherme realises that it's exactly what he wants - but he'd like to select a specific version of his branch, so he clicks on the "Build options" expander:

Build now overlay

  1. Guilherme selects the specific revision that he needs, and clicks "Build now"
  2. The overlay disappears and the branch page is updated with a "Recent builds" portlet listing the new build and its status, linking to (somewhere appropriate within) the PPA.

Notes for graceful degradation - Non-JS version

NOTE: the mockups for this section need to be updated.

Without JavaScript, the "Build now" link would go to a "/+buildbranch" page for the branch:

[Add back in after updating]

allowing Guilherme to select a recipe and indicate the ppa. If there weren't any recipes, or he wanted to create a new one, he can click on 'create a new recipe' which takes him to:

[Add back in after updating]

Once Guilherme successfully creates a new recipe he is redirected back to the +build page above.

See also

Unresolved questions

Mockups that are missing, maybe:

Unaddressed use-cases:

Resolved questions

BuildBranchToArchiveUI/UseCaseManualBuild (last edited 2010-03-02 16:04:46 by michael.nelson)