Changes

Jump to: navigation, search

Mozharness

1,613 bytes added, 05:57, 18 December 2010
Project Plan
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 [http://hg.mozilla.org/build/tools/file/tip/scripts 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 [http://hg.mozilla.org/build/buildbotcustom/file/a70b38b40088/process/factory.py#l7895 ScriptFactorymozharness] and it is very simple.
mozharness is a single factory that 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)
ment
Initial contacts: [[User:Armenzg|Armenzg]]
== Project Leader(s) ==
In Alphabetical Order[http://zenit.senecac.on.ca/wiki/index.php/User:Atpruteanu adrianp: Adrian Pruteanu]
Adrian Pruteanu [http://zenit.senecac.on.ca/wiki/index.php/User:Atpruteanu] Mredha mustafaj: Mustafa Redha [http://zenit.senecac.on.ca/wiki/index.php/User:Mredha]
== 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[[User: only Project Leader(s) should add names here. You '''can’t''' add your own name to the Contributor list.Armenzg|Armenzg]]
== 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 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
 
'''Blogs:'''
 
* Armen: http://armenzg.blogspot.com/
* Mustafa: http://mustafaredha.wordpress.com/
* adrianp: http://blog.esmnetworks.com/
 
... all of which appear on the [http://zenit.senecac.on.ca/~chris.tyler/planet/ CDOT Planet]
 
== mozharness ==
* Objective: Improve efficiency while lowering the entry level knowledge required from new developers to get involved
 
* candidates: adrianp, mustafaj
* http://hg.mozilla.org/users/asasaki_mozilla.com/mozharness
* separate framework - which buildbot calls
 
'''What are we building?'''
* Profile 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)
'''[http://armenzg.blogspot.com/2010/10/releng-contributors-from-seneca.html Outlined in Armen's blog post]''' == release simple bugs Project Plan == Goals for each release:
<table style="border: 1px black solid;" cellpadding="3"><tr> <th style="width: 50%; border-right: 1px black solid;">[http://blog.esmnetworks.com/category/mozharness/ adrianp] - [http://code.darkminds.org/hg/mozharness/rss-log Development Feed]- [http://code.darkminds.org/hg/mozharness Repository] </th> <th>[http://mustafaredha.wordpress.com/ mustafaj]</th></tr><tr><td style="vertical-align: top; width: 50%; border-right: 1px black solid;"><!-- adrianp's projects --> '''hgtool port'''* 0.1- Create the MercurialVCS class that is responsible for basic hg operations (clone, pull, push) each with an individual method* candidates0.2- Implement all hgtool actions as individual methods in MercurialVCS. At this point MercurialVCS() should be importable (useful) for Mozharness<br />- Document usage for programmers (inheritance, import, whatever else not pertaining to users shell interaction)* 0.3- lib/source/mercurial.py should be callable via shell with parameters matching each method (ie: ./mercurial.py checkout [src]?)<br />- The Class should be generalized to ensure portability to other D/VCSs (git, svn, cvs)<hr /><br /></td><td style="vertical-align:top;"><!-- mustafaj's projects -->
Alternate project - take on one or more of these issues tagged as "simple" by releng:<b>0.1 through 0.3 will have a progressive approach.</b>
* http0.1://bit.ly/dwICN9
**<s>- create mercurial repository: Done</s> -->[http://iraq.proximity.on.ca/hg]<--
<s>** Download builds and tests get them running on Fedora Linux x64.</s>
<s>*** Mochitest and reftest?</s>
<s>** Document the success or problems of these tests (on F13.x64)</s>
<s>** Find out what the meaninfull output will be (These tests run, what are we looking for as a result)</s>
<s>** Scope a specific set of test(s) and options that will be incorporated into moztest.py</s>
<s>** See what logic and scripts can be ported from buildbotcustom to moztest.py</s>
== buildapi ==* 0.2<s>** Create a basic moztest.py which calls classes from the scripts in the harness to take on options and provide a --help list.</s>** Incorporate the automation of:***checking the build environment prerequisites***create an option to bring system up to date for any missing pre-reqs<s>***download and unpack builds and tests into a standardized directory structure</s>***run a barebones test** expand automation to include:***all options available for the test chosen<s>***simplify the options for "easy test and build urls"</s>
* Objective: Need to identify critical machines that should not be processing jobs
* candidates: asingh,jing yang0.3<s>**Document 0.1 and 0.2 in an introduction to moztest.py (mozharness)</s> in an inclusive format geared towards developers using the tool and those that may contribute to it in the future<s>**Continue to expand on moztest.py to address errors</s>**TBD midway through 0.3</td></tr></table>
* Querying the database to get information about jobs== Project News==
* From thatFriday October 8, reports can be generated2010:**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:* e.g.*Adrian made initial Contact with Armen, meeting set for 3pm Wendesday October 13, discover rogue slaves2010 -Mustafa
* pylons project (Python web framework)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
* statusdb snapshot needed. For examples see'''First meeting: mozharness call (2010-10-12 15:00 EDT)'''
** http# What is mozharness (Armen)# Initial direction# Q&A '''Atendees://anamariamoz.wordpress.com/'''
*ctyler, mustafaj, armenzg, adrianp, asingh '''Blogs:''' * Armen: http://armenzg.blogspot.com/* Mustafa: http://mustafaredha.wordpress.com/* httpsadrianp: http://bugzillablog.mozillaesmnetworks.orgcom/show_bug ...cgi?id=604088all of which appear on the [http://zenit.senecac.on.ca/~chris.tyler/planet/ CDOT Planet]
1
edit

Navigation menu