Outreachy: Difference between revisions

172 bytes added ,  2 October 2017
m
→‎Treeherder: Clarifications & fix formatting
(Added Treeherder)
m (→‎Treeherder: Clarifications & fix formatting)
Line 96: Line 96:
=== Treeherder ===
=== Treeherder ===


Mentor: Ed Morley and Cameron Dawson
'''Mentor:''' Ed Morley and Cameron Dawson <br />
IRC: emorley or camd
'''IRC:''' #treeherder (emorley or camd)
Overview:
Treeherder is the web application for visualising continuous integration tasks used to build and test Firefox. Treeherder processes a lot of data everyday to be able to visualise this data.It's used by Firefox devs to check whether their new code works, by release managers to decide whether to include a new feature in the next version of Firefox.


Inside this data we have a number of failures that occur and are intermittent making it difficult to track and reproduce: “When a developer tests out code, they want to know:
'''Overview:'''
Did my code cause any regressions?Currently this can be difficult to figure out.  
 
[[EngineeringProductivity/Projects/Treeherder|Treeherder]] is the web application for visualising continuous integration tasks used to build and test Firefox. Treeherder processes a lot of data everyday to be able to visualise this data. It's used by Firefox devs to check whether their new code works, and by release managers to decide whether to include a new feature in the next version of Firefox.
 
Inside this data we have a number of failures that occur and are intermittent making it difficult to track and reproduce. When a developer tests out code, they want to know "Did my code cause any regressions?". Currently this can be difficult to figure out.  


We need to start building up metrics on these to help engineering teams know which intermittent failures are important and which are not.
We need to start building up metrics on these to help engineering teams know which intermittent failures are important and which are not.


You will be working on one of the following:
You will be working on '''one''' of the following:
* Visualising intermittents and their regularity
 
** Create a frontend to visual historical trends of failures with creative ways to browser and compare. This will be used by developers and sheriffs who are trying to fix these failures.
# Visualising intermittents and their regularity
** building a user interface inside of Treeherder for annotating/matching failures
#* Create a frontend to visual historical trends of failures with creative ways to browser and compare. This will be used by developers and sheriffs who are trying to fix these failures.
** Create a backend for storing unique identifiers for failures which will be referenced by an auto classification engine, the frontend for annotating, and the historical view for finding trends
#* Building a user interface inside of Treeherder for annotating/matching failures
#* Create a backend for storing unique identifiers for failures which will be referenced by an auto classification engine, the frontend for annotating, and the historical view for finding trends


* Build out auto-classification tooling to be able to handle more types of intermittent failure types.
# Building out auto-classification tooling to be able to handle more types of intermittent failure types.
** Create an engine that will automatically match failures and annotate them properly
#* Create an engine that will automatically match failures and annotate them properly
building a user interface inside of Treeherder for annotating/matching failures
#* Building a user interface inside of Treeherder for annotating/matching failures


You will need to know a little bit of the following and learn the rest as you go:
You will need to know a little bit of the following and learn the rest as you go:
* Python
* Python (for use with the Django/Django REST framework backend)
* JavaScript (For using React or AngularJS)
* JavaScript (for use with the React/AngularJS frontend)
* HTML/CSS
* HTML/CSS


canmove, Confirmed users
1,126

edits