Diff for "BuildBranchToArchiveUI/UseCaseManualBuild"

Not logged in - Log In / Register

Differences between revisions 17 and 18
Revision 17 as of 2010-02-12 08:02:15
Size: 6662
Comment:
Revision 18 as of 2010-02-12 09:25:17
Size: 7740
Comment: Added more questions.
Deletions are marked like this. Additions are marked like this.
Line 58: Line 58:
 * Regarding the build options: does it make sense to have a branch revision *and* Build daily as an option at the same time?
   * ''It is conceivably possible that someone might want a daily build of a fixed base-branch revision because the merged feature branch or packaging branch etc. is what is being tested, but I've no idea whether this is realistic. If not (or even if so) we can simply warn the user when they click Build daily if they have selected a version.''
 * Julian asks: would we want to ensure that users can actually choose the daily build time for a daily build? (ie. it may be desired that the build happens at 3am local time for a group so the next morning they all get the update?)
 * Julian asks: Initially we may not even want the 'Build daily' option to be available to general users (due to resources), instead enabling daily builds via a separate interface?
   * ''We could ensure on this interface that it is only present/valid for certain groups etc. too?''
Line 71: Line 77:
   * ''I think the question here is how do I *find* the gnome-do daily PPA right?''

A typical manual branch build use-case

Guilherme has his own branch of the Toggle project and would like to build and publish the resulting package in his PPA, using his own version of the official packaging branch.

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

Initiating a build with an existing recipe

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 for Lucid 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.". 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, linking to (somewhere appropriate within) the PPA.

Initiating a build requiring a new recipe

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.

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

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 for Lucid 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.". 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"

Determining the state of the current build

A few minutes after having created a new build, Guilherme decides to check on how his build of his branch is progressing...

Notes for graceful degradation - Non-JS version

NOTE: the following non-js mockups are out of date. Without JavaScript, the "Build now" link would go to a "/+buildbranch" page for the branch:

Build now overlay

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:

Build now overlay

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

Actually, an alternative here (given that it is all for the non-JS version) would be to combine the two pages into one (nope, that ui is getting too complicated, and it's just for the non-js version, better to keep it as two simpler pages).

See also

Unresolved questions

  • Regarding the build options: does it make sense to have a branch revision *and* Build daily as an option at the same time?
    • It is conceivably possible that someone might want a daily build of a fixed base-branch revision because the merged feature branch or packaging branch etc. is what is being tested, but I've no idea whether this is realistic. If not (or even if so) we can simply warn the user when they click Build daily if they have selected a version.

  • Julian asks: would we want to ensure that users can actually choose the daily build time for a daily build? (ie. it may be desired that the build happens at 3am local time for a group so the next morning they all get the update?)
  • Julian asks: Initially we may not even want the 'Build daily' option to be available to general users (due to resources), instead enabling daily builds via a separate interface?
    • We could ensure on this interface that it is only present/valid for certain groups etc. too?

Mockups that are missing, maybe:

  • A page for a build
    • Failed
    • Successful
    • How does it use the manifest?
  • A page for a daily build (is this the same as the page for a recipe)
    • Most recent builds
    • When building next?
    • Stop building this for now / resume
    • What has changed on the branches since the most recent build?

Unaddressed use-cases:

  • As a gnome-do enthusiast, I want to install the daily build for "gnome-do" so I can use the latest crack.
    • I think the question here is how do I *find* the gnome-do daily PPA right?

  • Should we have a page that represents a recipe? If so what would it be for & what would it look like?

    • Definitely - I mean, we want people to be able to edit the recipe. I assume it would look very similar to the recipe creation overlay above, but include more auxiliary info like builds that have been done with the recipe etc.

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