Sheriffing/TBPL/DeveloperDocs: Difference between revisions

Jump to navigation Jump to search
first pass
(first pass)
Line 1: Line 1:
= About the service  =
= About the service  =


(what does it do, what is the purpose?)
== Overview / basic idea ==


In one sentence, Tbpl shows developers what is happening.
In one sentence, TBPL shows Firefox developers what is happening in their repositories.


More specifically, it shows a list of pushes (code changes) to different branches (repositories) and associated jobs. These jobs can be any kind of compile and test jobs. It color-codes the success status of those jobs so it is easily visible if a code change contains errors or not.
Every checkin to a Firefox repository triggers the execution of several automated test jobs for the new revision. For each push the new source is compiled to a fresh binary on all supported platforms, and the resulting binaries are then tested by lots of automated unit and performance tests.
It further allows developers to
 
* comment on a job
TBPL shows a repository's state by correlating pushes (checkins) with the results of these automated jobs. For each push, the corresponding changesets (code changes) are listed in the left half of the page, and the triggered jobs are listed in the right half of the page. Every job (also called "build" and "run") is represented by one colored letter. The color of each letter depends on the success status of the job.
* restart a particular job
 
* cancel a running job
Developers need to make sure that their changes don't "break the tree", i.e. that they don't cause any tests to fail, so they'll usually monitor TBPL for a while after they've checked in.
 
== Further functionality ==
 
On top of the basic functionality, TBPL has these features:
* Clicking on a job shows details of the job result in a pane at the bottom. Job details include:
** Exact numbers of passed / failed / skipped tests, or performance numbers for performance tests
** Links to the job's log (in abridged and full form)
** For unsuccessful jobs, an excerpt of the log that only lists failures ("blue box", "summary")
** Comments on the job ("yellow box", "stars")
* From the job details panel, the user can perform actions on the job:
** Comment on the job ("star it")
** Restart the job (for example to get more performance data, or to see if a test failure is intermittent)
** Cancel the job, if it hasn't finished yet
* more


= Development documentation  =
= Development documentation  =


(is there a design doc for development?)  
There is no design doc for development. Development happens in the repository at http://hg.mozilla.org/users/mstange_themasta.com/tinderboxpushlog/ and in the Bugzilla component Webtools : Tinderboxpushlog.
 
Installation instructions are given in the [http://hg.mozilla.org/users/mstange_themasta.com/tinderboxpushlog/raw-file/tip/README README file].
 
TBPL doesn't have versions or milestones. Changes are usually implemented in response to a bug in Bugzilla (see [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=OPEN+product%3AWebtools+component%3ATinderboxpushlog list of open bugs]) and deployed as they come in. The motivation behind specific parts of the code can be figured out by looking at the hg annotate of the file and tracing it back to the bug where the code was landed.


= Logical diagram  =
= Logical diagram  =
Confirmed users
85

edits

Navigation menu