BuildFailureBugFiling

Summary

The Developer Platform team has need for a tool to facilitate mass bug filings for package build failures on ARM.

Stakeholders

  • Steve Langasek

Contact

  • Steve Langasek

Deadline

  • TBD

Estimated Work

  • TBD

Rationale



Requirements

Requirements, and non-requirements (not in scope)

  • process the output of periodic rebuilds (e.g. http://people.ubuntuwire.org/~wgrant/rebuild-ftbfs-test/test-rebuild-20110107-natty.html) to identify build failures that are specific to armel (obviously this requires an armel rebuild as input... the above example rebuild is not)

  • tag resulting bugs with 'ftbfs' tag and an 'arm-porting-queue' tag
  • avoid filing new bugs on a package when there is an existing open bug on that package with these tags
  • script must be runnable from the commandline / cron

Nice-to-have features:-

  • recognizing when a build failure is not a regression from the last time the script was run, to avoid filing a new bug report (since a build failure may be a bug in a different package, and have been reassigned to a different package as part of triage)

  • allow filing 'ftbfs' bug reports for non-armel build failures

This is a prerequisite for having an effective porting queue for handling ARM package build failures.

Design

This will be implemented in python as a few simple components to separate concerns.

  • Filtering component
    • Responsible for interfacing build data and to find "matches".
    • "Matches" are packages which fail to build on armel and build OK on all other listed platforms.
  • Parsing component
    • Responsible for getting data from matches.
    • Package name, version are primary data to get.
    • Info about the reason for failing will also be parsed to be able to add tags accordingly (later)
  • Bug filing component
    • Responsible for filing actual bugs in Launchpad
    • Will have to check for dupes, should not file another bug if there are already open bugs with the same tags.
    • Perhaps set stuff like assignee, initial status etc?

To be able to recognize when a failure has already been reported but there's no open bug on that package (due to reassigning), would mean to keep a state on the machine where the script was run. Without this feature the script could be run independently from any location (since state is determined only by the build data and Launchpad state) and produce the same results. Will have to contemplate this a bit...

Implementation

How we will implement the design (can be deferred until the work is committed to)

Code changes

What code we need to change and where (can be omitted if the Implementation section suffices)

Delivery and Test plan

How the finished project will be delivered, and how testing will be organised (including acceptance testing)

Questions

Will there be a similar status page including armel rebuild data?

Is it the most efficient to parse the data from the web page, or is there background data to access directly?'




Subject: [Linaro-infrastructure-stakeholders] tool for mass bugfiling of build failures
From: Steve Langasek <steve.langasek@linaro.org>
Date: Tue, 11 Jan 2011 09:19:50 -0600
To: linaro-infrastructure-stakeholders@lists.launchpad.net

Hi there,

The Developer Platform team has need for a tool to facilitate mass
bugfilings for package build failures on ARM.  Requirements:

 - process the output of periodic rebuilds (e.g.
   http://people.ubuntuwire.org/~wgrant/rebuild-ftbfs-test/test-rebuild-20110107-natty.html)
   to identify build failures that are specific to armel (obviously this
   requires an armel rebuild as input... the above example rebuild is not)
 - tag resulting bugs with 'ftbfs' tag and an 'arm-porting-queue' tag
 - avoid filing new bugs on a package when there is an existing open bug on
   that package with these tags
 - script must be runnable from the commandline / cron

Nice-to-have features:

 - recognizing when a build failure is not a regression from the last time
   the script was run, to avoid filing a new bug report (since a build
   failure may be a bug in a *different* package, and have been reassigned
   to a different package as part of triage)
 - allow filing 'ftbfs' bug reports for non-armel build failures

This is a prerequisite for having an effective porting queue for handling
ARM package build failures.

Thanks,
-- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ slangasek@ubuntu.com vorlon@debian.org



_______________________________________________
Mailing list: https://launchpad.net/~linaro-infrastructure-stakeholders
Post to     : linaro-infrastructure-stakeholders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~linaro-infrastructure-stakeholders
More help   : https://help.launchpad.net/ListHelp

internal/archive/Platform/Infrastructure/Specs/BuildFailureBugFiling (last modified 2013-08-23 02:14:54)