EngineeringProductivity/Projects/Treeherder: Difference between revisions

m (→‎All Others: Case change)
(update the page: removed or update outdated information)
 
(116 intermediate revisions by 10 users not shown)
Line 1: Line 1:
== Overview ==
== About ==
[https://treeherder.mozilla.org/ Treeherder] is the successor of [[Sheriffing/TBPL|TBPL]].
[https://treeherder.mozilla.org/ Treeherder] is a reporting dashboard for checkins to Mozilla projects (for example, [https://github.com/mozilla-firefox/firefox mozilla-firefox/firefox's "main" also known as "mozilla-central" branch]). It allows users to see the results of automatic builds and their respective tests. Treeherder also provides a rich set of APIs that can be used by other projects interested in this information.


The goal of the first version of TBPL was to correlate checkins with Buildbot results, so that developers and sheriffs could quickly see test results across multiple platforms for automatic builds associated with a developer's specific Firefox changesets.  The application has been extended beyond it's original purpose to manage the same task for Firefox for Android and B2G and a variety of new platforms, build types, and tests.
Treeherder is the successor to [[Sheriffing/TBPL|TBPL]].


As more tests, platforms, products and features were added to TBPL a variety of architectural bottle necks were identified.  The purpose of Treeherder is to support longer term use cases for managing and visualizing data and rewrite the existing application from scratch, so that it can scale appropriately in the future.
For tracking performance data, see Treeherder's sister project, [[EngineeringProductivity/Projects/Perfherder|Perfherder]].


== Hacking ==
For tracking intermittent test failures, see [[EngineeringProductivity/Projects/IntermittentFailuresView|Intermittent Failures View]].
* Treeherder Backend: [https://github.com/mozilla/treeherder-service Source] / [https://treeherder-service.readthedocs.org Docs]
* Treeherder UI: [https://github.com/mozilla/treeherder-ui Source] / [https://treeherder-ui.readthedocs.org Docs]
* Treeherder Data Submission Clients:
** Python: [https://github.com/mozilla/treeherder-client Source] / [https://github.com/mozilla/treeherder-client/blob/master/README.md Readme]
** NodeJS: [https://github.com/lightsofapollo/treeherder-node Source] / [https://github.com/lightsofapollo/treeherder-node/blob/master/README.md Readme]
* Mozilla instances: [http://treeherder-dev.allizom.org Dev] / [https://treeherder.allizom.org Staging] / [https://treeherder.mozilla.org Production]


== Bugs & Project Tracking ==
== Contributing ==
* Bugzilla: [https://bugzilla.mozilla.org/enter_bug.cgi?product=Tree+Management&component=Treeherder File a bug] / [https://bugzilla.mozilla.org/buglist.cgi?product=Tree+Management&component=Treeherder&resolution=--- View all open bugs]
To make UI-only changes, you only need to perform a very simple setup running a local webserver pointing at the production backend, described [https://treeherder.readthedocs.io/installation.html#ui-development here]. If you wish to hack on the backend, or the UI and backend together, you will instead need to set up a Vagrant environment, using [https://treeherder.readthedocs.io/installation.html#server-and-full-stack-development these steps].
* IRC: [irc://irc.mozilla.org/treeherder #treeherder] / [http://logs.glob.uno/?c=treeherder logs]
* Etherpads: [https://etherpad.mozilla.org/sheriffing-with-treeherder sheriff-feedback-april] / [https://sheriffs.etherpad.mozilla.org/move-to-treeherder-requirements sheriff-feedback-june]
* [https://www.pivotaltracker.com/projects/749519 Pivotal Tracker project] (Depreciated)


=== [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=blocked%3A1030636 Transition blockers] ===
* [https://ateam-bootcamp.readthedocs.io/en/latest/ A-Team Bootcamp]: Best practices for working on A-Team projects (of which Treeherder is one), including valuable information on using Git and Bugzilla. If you're new to Mozilla or the A-Team, please read this guide thoroughly before proceeding.
Open bugs blocking Gecko/Firefox sheriffs from making the transition from TBPL to Treeherder.
* Issue tracker: [https://bugzilla.mozilla.org/enter_bug.cgi?product=Tree+Management&component=Treeherder Report a bug] / [https://bugzilla.mozilla.org/query.cgi?query_format=advanced&product=Tree+Management&f1=component&o1=substring&v1=Treeherder&resolution=--- search open bugs]
<bugzilla>
* Mozilla Treeherder instances: [https://prototype.treeherder.nonprod.cloudops.mozgcp.net/ Prototype] / [https://treeherder.allizom.org Staging] / [https://treeherder.mozilla.org Production] / [https://whatsdeployed.io/s-dqv Deployed changes info]
{
"resolution": "---",
"blocked": "1030636",
"include_fields": "id, priority, summary, assigned_to",
"order": "priority"
}
</bugzilla>
=== [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=blocked%3A1059400 Post-transition priority] ===
Open bugs that are pain points for sheriffs/devs but can wait until after the transition from TBPL to Treeherder & will be first in line to be fixed then.
<bugzilla>
{
"resolution": "---",
"blocked": "1059400",
"include_fields": "id, priority, summary, assigned_to",
"order": "priority"
}
</bugzilla>
=== [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=%3Atreeherder%20-blocked%3A1030636%20-blocked%3A1059400%20-bug_id%3A1030636%20-bug_id%3A1059400 All others] ===
All other open bugs not included above.
<bugzilla>
{
"component": "Treeherder",
"resolution": "---",
"id": "1030636,1059400", "id_mode": "exclude",
"blocked": "1030636 1059400", "blocked_type": "not_contains_any_words",
"include_fields": "id, priority, summary, assigned_to",
"order": "priority"
}
</bugzilla>


=== [https://bugzilla.mozilla.org/buglist.cgi?quicksearch=FIXED+%3Atreeherder Fixed] ===
== Source and Docs ==
<bugzilla>
* UI & backend: [https://github.com/mozilla/treeherder Source] / [https://treeherder.readthedocs.io Docs]
{
* Treeherder data submission clients:
"component": "Treeherder",
** Pulse: [https://hg.mozilla.org/automation/mozillapulse/ Source] / [http://treeherder.readthedocs.io/submitting_data.html#submitting-using-pulse docs]
"resolution": "FIXED",
"include_fields": "id, priority, summary, assigned_to",
"order": "priority"
}
</bugzilla>


== Meetings ==
== Getting in touch ==
* [https://wiki.mozilla.org/Auto-tools/Projects/Treeherder/Meetings Notes & dial-in details].
* Chat on Element: [https://chat.mozilla.org/#/room/#treeherder:mozilla.org #treeherder]
 
== Archive ==
* Original design notes:
** [[Auto-tools/Projects/Treeherder/Current_TBPL_Feature_List]]
** [[Auto-tools/Projects/Treeherder/Design_Draft]] (quite out of date now)

Latest revision as of 10:21, 24 November 2025

About

Treeherder is a reporting dashboard for checkins to Mozilla projects (for example, mozilla-firefox/firefox's "main" also known as "mozilla-central" branch). It allows users to see the results of automatic builds and their respective tests. Treeherder also provides a rich set of APIs that can be used by other projects interested in this information.

Treeherder is the successor to TBPL.

For tracking performance data, see Treeherder's sister project, Perfherder.

For tracking intermittent test failures, see Intermittent Failures View.

Contributing

To make UI-only changes, you only need to perform a very simple setup running a local webserver pointing at the production backend, described here. If you wish to hack on the backend, or the UI and backend together, you will instead need to set up a Vagrant environment, using these steps.

Source and Docs

Getting in touch