Mozharness
Contents
Project Name
ScriptFactory
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]
Andrew Singh [3]
Jing Yang [4]
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
Use format:
- Date
News Name of contributer
- 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 following is a log of the call:
mozharness call (2010-10-12 15:00 EDT)
- What is mozharness (Armen)
- Initial direction
- Q&A
Atendees:
- ctyler, mustafaj, armenzg, adrianp, asingh
Project page: http://zenit.senecac.on.ca/wiki/index.php/ScriptFactory_Project <- fixme/splitme
Blogs:
- Armen: http://armenzg.blogspot.com/
- Mustafa: http://mustafaredha.wordpress.com/
- adrianp: http://blog.esmnetworks.com/
- Jing Yang: http://jyang42.blogspot.com/
... 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
- API is changing - WIP in https://bugzilla.mozilla.org/show_bug.cgi?id=574473
- 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: