[Testing] New OLPC Process and Rules for Builing Activities, Releases, and Firmware Builds

Grig Gheorghiu grig at gheorghiu.net
Wed Apr 2 13:29:48 EDT 2008


I'm a bit confused at this point as to whether Charles's message was an
April Fool's prank or the real deal. Charles -- you got all of us here,
now can you shed some light? :-)

Grig

--- "C. Scott Ananian" <cscott at laptop.org> wrote:

> On Tue, Apr 1, 2008 at 6:55 PM, Charles Merriam
> <charles.merriam at gmail.com> wrote:
> > New OLPC Process and Rules for Building Activities, Releases, and
> >  Firmware Builds
> >
> >  I.  Introduction
> >
> >  It's an exciting time at the OLPC Foundation!  In the next few
> weeks
> >  we will be releasing Update 1 and holding our first
> Mini-Conference
> >  for developers at 1 Cambridge Center.   Also, we are announcing
> our
> >  new processes for streamlining the development process.
> >
> >  Process and rules make it easier to create quality deployments to
> the
> >  children world wide that now depend on their XOs.   We will be
> >  releasing high-quality, regularly scheduled deployments timed to
> >  coincide with the school year in most countries.  These changes
> will
> >  help developers concentrate on high quality software and have
> their
> >  changes make it out to children more quickly.
> >
> >  The major changes outlined in this document include:
> >     Time-based Release Schedules
> >     Developer Changes:  Better GIT web interface & standard project
> metrics
> >     Useful and predictable build targets
> >
> >  II.  Time-based Release Schedule
> >
> >  OLPC is moving to time-based release schedule.  A growing number
> of
> >  open source projects have standardized on this approach including
> the
> >  Ubuntu and Gnome projects.  See
> >  https://wiki.ubuntu.com/TimeBasedReleases for one explanation of
> this
> >  system.
> >
> >  Major updates will be signed and released on May 15 and November
> 15
> >  each year.   This will allow ample time for review, teacher
> training,
> >  modified lesson plans, and deployment.  The version numbers will
> be in
> >  the form "YY.season", so our next two releases will be "08.Spring"
> >  near May 15, 2008 and "08.Autumn" on November 15, 2008.  This
> year,
> >  because of the transition, Update-1 may be released on a different
> >  date than May 15, 2008.  It will still be officially called "the
> >  08.Spring version".
> >
> >  Getting a stable build out to all corners of the globe can be
> hard.  A
> >  branch grows in stability over time and stablity of the release
> and
> >  field testing the final release candidate takes time.  We plan to
> >  finalize the exact schedule for 08.Autumn shortly, but expect the
> >  following:
> >             45 days until release     Feature Freeze
> >             30 days until release     User Interface Freeze, Sugar
> OS
> >  freeze, Imports Freeze
> >             15 days until release     Translation packages freeze,
> >  Final freeze and start final testing
> >             0 days                      Release on schedule.
> >             +30 days                    Announce schedule,
> priority,
> >  and tool chain changes for next release at developers conference.
> >
> >
> >  III.  Developer Changes
> >
> >  These changes should help developers by making it easier to get
> their
> >  changes into regular builds.  Changes are minimal:  most
> developers
> >  will only need to name a new GIT branch.
> >
> >  The biggest change for developers will be to provide named
> branches
> >  for the stable version and for each release version.   The OLPC
> >  Foundation may create a named branch for inactive and completed
> >  projects that should be a release.  Also, the OLPC Foundation may
> >  create an "as shipped" branch when we finish a release cycle.  We
> >  recommend that projects try to develop new features be in separate
> >  branches and merge them back into a 'stable' branch as they are
> >  completed; just our advice.  See the wiki for the latest branch
> names
> >  and explanations.
> >
> >  Another exciting change is a new look to the online GIT repository
> >  that we are rolling out on May 1, 2008.   The interface looks
> nicer,
> >  with colored source code in the browser; searching across source
> >  files; links to pydoc, testing, and coverage reports by file; and
> >  links into the wiki pages for each activity.  Anyone will be able
> to
> >  start project in dev.laptop.org's GIT without having to apply in
> >  advance:  we encourage developers to use GIT from the beginning. 
> With
> >  a growing number of new projects, we will be introducing a metric,
> >  named Solidity, to categorize projects.
> >
> >  Solidity is a new metric to seperate ideas and prototypes from
> >  shipping activites.  This simple metric puts each project in one
> of
> >  three states:  "steam", "water", or "ice".  The new GIT web pages
> will
> >  show this state along with numbers for Components, Translations,
> and
> >  Coverage.  The Components number derives from a project's wiki
> page,
> >  lesson plans, and artwork.  Translation numbers derive from the
> Pootle
> >  measurements of translations into core deployment languages. 
> Coverage
> >  numbers derive from code coverage numbers by various methods being
> >  discussed on the "testing at laptop.org" mailing list.   At a
> minimum, we
> >  will include code coverage numbers from Python's "doc tests" and
> the
> >  "UnitTest" module.  The solidity metric changes via a "phase
> change"
> >  initiated at OLPC Foundation discretion.
> >
> >  These changes will help developers get their changes into the
> >  appropriate builds for more testing and for attracting more
> >  developers.
> >
> >  IV.  Build Targets
> >
> >  Another exciting change:  we are pleased to announce build process
> >  improvements!   We have a new build process we hope to unify
> across
> >  Sugar OS components, Activities, and bios (flash) images.  The
> number
> >  of build targets will expand dramatically by dividing up versions,
> >  formats, and bundles.
> >
> >  There are three versions in the build process:  product,
> pre-product,
> >  and joyride.  Product releases are the two per year tested
> releases
> >  for deployment.  Pre-product releases are the alpha, beta, and
> release
> >  candidate builds that replace the current 'stable' designation.
> >  Joyride is the nightly build with all the stability of driving
> fast on
> >  slippery mountain roads hoping not to crash the same place twice.
> >  Only "joyride" builds will pull the latest library versions from
> >  off-site servers.
> >
> >  There will also be multiple formats produced in the build process,
> >  which should make it more accessible to Activity developers.  Each
> >  build will be available in Ubuntu (currently "Gutsy" version)
> >  packages, Ext3 files for Q/EMU, a virtual drive for VMWare
> servers,
> >  jffs2 (flash/Nand), .zip/.xo, and continued support for
> sugar-jhbuild
> >  users.  We are still fleshing out the details for a testing
> harness
> >  version and for a Macintosh developer version.  We hope that any
> >  programmer who wants to develop for the OLPC will be able to do so
> >  with under thirty minutes of set-up.
> >
> >  Finally, there will be multiple bundles for each build:  Sugar/OS
> >  without Activities; Sugar/OS with Solidity=Ice Activities;
> Sugar/OS
> >  with Solidity=Ice Activities & Source Code; and Sugar/OS with All
> >  Activities & Source Code.  The two bundles with source code may
> exceed
> >  the standard storage ability of XO-1 laptops.  There will also be
> some
> >  special bundles.  Live CD builds, based on the "Sugar/OS with
> >  Solidity=Ice Activities" bundle for the latest product release 
> will
> >  be aimed at potential donors and press.  We are still exploring
> making
> >  custom deployment bundles to provide configuration help such as
> >  selecting activities, the Jabber host, default languages, and
> security
> >  settings.
> >
> >  That's a lot of builds!  At a minimum we are expecting (3
> versions) x
> >  (4 formats) x (4 bundles) + Live and deployment builds.  The extra
> >  complexity will be worth it to make available the torrent or
> download
> >  that best suits your needs.
> >
> >
> >  V.   Conclusions & Summary
> >
> >  The OLPC Build Process is getting cleaner, faster, and more
> reliable.
> >  The new time-based release cycle provides the regularlity needed
> by
> >  teachers and regional groups; the new developer interface and
> branch
> >  structure speeds up development; and the new build targets make it
> >  easier to acquire and test the latest builds.   Any challenges
> with
> >  the transition will be rewarded with higher quality software.
> 
> Can we present this as a formal proposal at the mini-conference?
>  --scott
> 
> -- 
>  ( http://cscott.net/ )
> _______________________________________________
> Testing mailing list
> Testing at lists.laptop.org
> http://lists.laptop.org/listinfo/testing
> 



More information about the Testing mailing list