Diff for "LEP/SourcePackageRecipeBuilds"

Not logged in - Log In / Register

Differences between revisions 9 and 10
Revision 9 as of 2010-09-15 17:31:49
Size: 4016
Editor: abentley
Comment:
Revision 10 as of 2010-09-15 17:34:29
Size: 4061
Editor: abentley
Comment:
Deletions are marked like this. Additions are marked like this.
Line 55: Line 55:
 * Renaming branches does not break recipes

Source Package Recipe Builds

Build source packages from bzr-builder recipes, optionally on a daily basis.

As an upstream maintainer
I want to be able to build packages of my code using pre-existing packaging
So that users can try out the latest tip without installing from source.

As an Ubuntu enthusiast
I want to make a daily build of my favourite app available in a PPA
So that I & others can always be using the bleeding-edge.

This is not the elimination of sourcepackages as a step towards generating binary packages as proposed in No More Source Packages. Instead, it attempts to make that step trivial for many authors who otherwise wouldn't publish binaries.

Rationale

We want to make it very, very easy for upstream application authors to get their applications into the hands of Ubuntu users. This allows said application authors to get feedback on their latest work from a large, eager body of open source users. It allows those brave users who want the latest and greatest to get it easily.

This will, we hope, lead to a higher quality of Linux software in general, and thus a higher quality Ubuntu.

Stakeholders

  • Upstreams
  • Ubuntu community leaders
  • Soyuz
  • Losas
  • Ubuntu OSAs
  • sabdfl

Some of these stakeholders only have an interest in ensuring the build farm is reliable even with this new feature.

Constraints and Requirements

  • Must safely execute untrusted code when building source packages
  • Only the build farm provides for safe execution of untrusted code
  • Must use bzr-builder to generate debianized trees

Must

  • Provide daily builds, but may skip builds if the source is unchanged
  • Provide a web UI for creating recipes and requesting builds
  • Provide API for creating recipes and requesting builds
  • Allow users to use James Westby's imports (e.g. lp:ubuntu/foo) to provide the debian directory
  • Promptly provide full information on failed builds to the person who requested the build
  • Builds are performed in a timely manner (see LEP/BuildFarmScalabilty for more details)

  • Provide way to discover recipe-powered daily builds from a project or source package page

Nice to have

  • Auto-scheduled Source Package Recipe Builds don't interfere with manually-scheduled ones
  • Users can cancel builds
  • Builds of recipes involving private branches are supported
  • Highlight PPAs or packages within PPAs that are generated from recipes
  • Renaming branches does not break recipes

Must not

  • Overload the build farm
  • Disable the build farm
  • Require any additional LOSA / buildd-admin intervention

Workflows

  • Create a recipe based on a branch
  • Investigate a broken build triggered by a failure mail
  • ...?

UI

The original design from the process led by Michael Nelson: mockups

The initial cut design implemented by Paul Hummer and Aaron Bentley: mockups

Success

Thoughts?

LEP/SourcePackageRecipeBuilds (last edited 2010-10-28 16:16:34 by abentley)