EngineeringProductivity/Projects/Treeherder: Difference between revisions
(→Overview: simplify project description) |
(→Contributing: link to bootcamp) |
||
| Line 7: | Line 7: | ||
== Contributing == | == Contributing == | ||
To make UI changes, in many cases you only need to perform a very simple setup running a local webserver pointing at the production instance, described [https://treeherder-ui.readthedocs.org/en/latest/installation.html here]. If you wish to hack on the backend, or the UI and backend together, you will instead need to set up both the [https://github.com/mozilla/treeherder-service treeherder-ui] and [https://github.com/mozilla/treeherder-service treeherder-service] Github repos as a pair, following [https://treeherder-service.readthedocs.org/en/latest/installation.html these steps]. | To make UI changes, in many cases you only need to perform a very simple setup running a local webserver pointing at the production instance, described [https://treeherder-ui.readthedocs.org/en/latest/installation.html here]. If you wish to hack on the backend, or the UI and backend together, you will instead need to set up both the [https://github.com/mozilla/treeherder-service treeherder-ui] and [https://github.com/mozilla/treeherder-service treeherder-service] Github repos as a pair, following [https://treeherder-service.readthedocs.org/en/latest/installation.html these steps]. | ||
* A-Team Bootcamp: Best practices for working on A-Team projects of which Treeherder is one. If you're new to Mozilla or the A-Team, please read this guide thoroughly before proceeding. | |||
* Good first bugs for new developers: [http://www.joshmatthews.net/bugsahoy/?reporting=1 Bugs Ahoy] | * Good first bugs for new developers: [http://www.joshmatthews.net/bugsahoy/?reporting=1 Bugs Ahoy] | ||
* 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&f1=component&v1=Treeherder&o1=substring&resolution=--- All open bugs] / [https://bugzilla.mozilla.org/buglist.cgi?order=Bug%20Number&resolution=FIXED&chfieldto=Now&chfield=resolution&chfieldfrom=-14d&chfieldvalue=FIXED&f1=component&v1=Treeherder&o1=substring Recently fixed] / [[#Bug_Tables|Bug tables]] | * 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&f1=component&v1=Treeherder&o1=substring&resolution=--- All open bugs] / [https://bugzilla.mozilla.org/buglist.cgi?order=Bug%20Number&resolution=FIXED&chfieldto=Now&chfield=resolution&chfieldfrom=-14d&chfieldvalue=FIXED&f1=component&v1=Treeherder&o1=substring Recently fixed] / [[#Bug_Tables|Bug tables]] | ||
Revision as of 18:44, 17 April 2015
Overview
Treeherder is a reporting dashboard for checkins to Mozilla projects (for example, mozilla-central or gaia). It allows users to see the results of automatic builds and their respective tests. Treeherder also provides a rich set of API's that can be used by other projects interested in this information.
Treeherder is the successor to TBPL.
Contributing
To make UI changes, in many cases you only need to perform a very simple setup running a local webserver pointing at the production instance, described here. If you wish to hack on the backend, or the UI and backend together, you will instead need to set up both the treeherder-ui and treeherder-service Github repos as a pair, following these steps.
- A-Team Bootcamp: Best practices for working on A-Team projects of which Treeherder is one. If you're new to Mozilla or the A-Team, please read this guide thoroughly before proceeding.
- Good first bugs for new developers: Bugs Ahoy
- Bugzilla: File a bug / All open bugs / Recently fixed / Bug tables
- Chat on IRC: #treeherder / Channel logs (to learn about IRC see IRC)
- Meetings: Notes & dial-in details
- Mozilla Treeherder instances: Dev / Staging / Production (mana page)
Source and Docs
Roadmap
Milestone M1: Functional Prototype
- Deliver a functional prototype that sheriffs can use for E2E testing.
- Status: [DONE] delivered 2014 Q1.
Milestone M2: Production Deployment
- Complete a security review and deploy into production with IT.
- Status: [DONE] delivered 2014 Q2.
Milestone M3: Sheriff Transition from TBPL
- Work with the sheriffs to address bugs and workflow issues so that Treeherder is a viable alternate for TBPL for their workflow, and transition the sheriffs to using Treeherder for their day-to-day work. Bugs: see dependents of bug 1030636.
- Status: [DONE] delivered 2014 Q3 (newsgroup post).
Milestone M4: Make TBPL redundant for all users
- Work to implement other developer use cases, refine sheriffing work flows, and make TBPL redundant for all of its users.
- Status: [DONE] delivered 2015 Q1 (newsgroup post).
Milestone M5: Performance Data
- We want to obsolete Graphserver and Datazilla, and make Treeherder the dashboard that is used to visualize performance data generated by Talos and other sources. This will be comprised of at least the following:
- A performance panel in pushlog view that can be used to see details about the performance data submitted for a particular push, plus recent antecedents.
- A performance summary tab that gives a high-level overview by branch, platform, and suite.
- Status: [PROPOSED] detailed planning to take place in late 2014 Q4, with delivery in 2015 Q1.
Possible Future Tasks
- Migrating to Heroku
- Using virtualenv/peep for more reliable package management
- Merging the treeherder-ui and treeherder-service repos
- Removing the objectstore
- Splitting of oauth credentials from the datasource table
- Improving UI performance/memory consumption
- Storing job artefacts in S3
- Improving task debug-ability (eg more logging, log aggregation)
- Making it easier for new contributors to setup/perform common tasks
- Adding more UI tests
- Refactoring of jobs.py, including splitting out refdata
- Moving away from datasource (ie using Django ORM)
- Creating a log viewer UI for displaying json logs
- Intermittent bug filer
- Annotation of backouts, tree closures
- Better performance graphs
- Integration of performance alerts
- Integration of OrangeFactor, GoFaster dashboards
- Create a display for code coverage data
- Additional metrics and visualizations
Bug Tables
Assigned
A summary of Treeherder bugs that are being worked on at the moment.
Bugzilla query error
Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1
Unassigned P1
All open P1 Treeherder bugs that do not have an assignee. Ideally these are the bugs that should be worked on next, once the currently assigned bugs are fixed.
Bugzilla query error
Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1
Needing Triage
All bugs that do not have a priority set and are unassigned (excluding Perfherder). These are ideally triaged weekly.
Bugzilla query error
Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1
All open bugs
Bugzilla query error
Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1
Recently fixed
Bugs changed to "Resolved FIXED" in the last 14 days.
Bugzilla query error
Array ( [type] => error [message] => http-bad-status [params] => Array ( [0] => 406 [1] => Not Acceptable ) ) 1
Archive
- Original design notes:
- Auto-tools/Projects/Treeherder/Current_TBPL_Feature_List
- Auto-tools/Projects/Treeherder/Design_Draft (quite out of date now)
- Pivotal Tracker project (Deprecated)
- Etherpads: sheriff-feedback-april / sheriff-feedback-june / sheriff-transition-meeting-notes
- Treeherder debrief Nov 2014 treeherder-debrief