Difference between revisions of "Mozharness"

From CDOT Wiki
Jump to: navigation, search
(Project News)
(Project News)
Line 46: Line 46:
  
 
*Wednesday October 13, 2010:
 
*Wednesday October 13, 2010:
**The mozharness/buildapi/releasebugs group met today with Armen and Ctyler in a conference call.  The conference call is logged below
+
**The mozharness/buildapi/releasebugs group met today with Armen and Ctyler in a conference call.  The conference call is logged below -mustafa
  
 
== First meeting: mozharness call (2010-10-12 15:00 EDT) ==
 
== First meeting: mozharness call (2010-10-12 15:00 EDT) ==

Revision as of 16:19, 14 October 2010

Project Name

Mozharness

Project Description

Imagine that we did not have to touch the Mozilla buildbot factories but instead we maintained a bunch of script for all the different jobs they run?

It would be good if we could create scripts that told a machine how to generate an optimized build, a debug build, unit tests, talos runs, locale repackages. If you look in the tools/scripts repo you can see that we have a simple shell file to do this for the fuzzing automation. The buildbot factory that calls it is called ScriptFactory and it is very simple.

Initial contacts: Armenzg

Project Leader(s)

In Alphabetical Order:

Adrian Pruteanu [1]

Mustafa Redha [2]

Project Contributor(s)

Name(s) of people casually working on the project, or who have contributed significant help. Include links to personal pages within wiki

NOTE: only Project Leader(s) should add names here. You can’t add your own name to the Contributor list.

Project Details

Provides more depth than the Project Description. This is the place for technical discussions, project specs, or other details. If this gets very long, you might consider breaking this part into multiple pages and linking to them.

Project Plan

Goals for each release:

  • 0.1
  • 0.2
  • 0.3

Project News

  • Friday October 8, 2010:
    • I will try to contact Armen today and find out what his schedule is like, and coordinate with everybody to setup a meeting in CDOT conference room. -Mustafa
  • Tuesday October 12, 2010:
    • Adrian made initial Contact with Armen, meeting set for 3pm Wendesday October 13, 2010 -Mustafa
  • Wednesday October 13, 2010:
    • The mozharness/buildapi/releasebugs group met today with Armen and Ctyler in a conference call. The conference call is logged below -mustafa

First meeting: mozharness call (2010-10-12 15:00 EDT)

  1. What is mozharness (Armen)
  2. Initial direction
  3. Q&A

Atendees:

  • ctyler, mustafaj, armenzg, adrianp, asingh

Project page: http://zenit.senecac.on.ca/wiki/index.php/ScriptFactory_Project

Blogs:

... all of which appear on the CDOT Planet

mozharness

  • Objective: Improve efficiency while lowering the entry level knowledge required from new developers to get involved
  • candidates: adrianp, mustafaj
  • requirements: pylint and coverage
  • ./unit.sh to run unit test coverage
  • scripts directory contain scripts
  • documentation is required
  • scripts written in python
  • separate framework - which buildbot calls


What are we building?

  • Profile Build
  • Debug Build - For OS (Mac, Linux, Windows, 32/64 etc)
  • Packaged Test - contains test for the build
  • Tests - Mochitests, Reftests, xpcshell, ... 10 in total
    • l10n builds


The problem that mozharness solves:

  • buildbot uses a "factory" to run a job
  • there are (becoming) too many different "factories" within buildbot
  • mozharness is a single factory that can buildbot can run; within mozharness, a script is selected for a specific job. This moves the job-definition responsibility out from buildbot; by separating the pieces, you avoid excessive complexity in buildbot and also open up the possibility of running mozharness manually (e.g., by a developer, to test something)

release simple bugs

  • candidates:

Alternate project - take on one or more of these issues tagged as "simple" by releng:


buildapi

  • Objective: Need to identify critical machines that should not be processing jobs
  • candidates: asingh,jing yang
  • Querying the database to get information about jobs
  • From that, reports can be generated
    • e.g., discover rogue slaves
  • pylons project (Python web framework)
  • statusdb snapshot needed. For examples see: