mozilla/treeherder

A system for managing CI data for Mozilla projects

Python

275

10,388 commits

updated Sep 24, 2026

See the code

README

Treeherder

What's Deployed Build Status Node dependencies Status Documentation Status Code style: black Ruff

Description

Treeherder is a reporting dashboard for Mozilla checkins. It allows users to see the results of automatic builds and their respective tests. The Treeherder service manages the etl layer for data ingestion, web services, and the data model behind Treeherder.

Instances

Treeherder exists on two instances: staging for pre-deployment validation, and production for actual use.

Installation

The steps to run Treeherder are provided here.

The steps to run only the UI are provided here.

Visit our project tracking Wiki here.

For other setup and configuration, visit our readthedocs page here.

File any bugs you may encounter here.

Contributing

Everyone is welcome to contribute!

If a bug is not assigned to someone, you can request the bug be assigned to you. You should ask the component owner with your request ("Request information" in Bugzilla and mention in Github).

If you do not receive a response within 2-3 days, you can follow up in the #treeherder matrix channel.

After addressing the issue, make sure every test passes before sending a pull request.

We also recommend setting an upstream remote that points to the Mozilla's Github repo, in addition to origin that points to your fork. You should then frequently use git rebase upstream rather than merging from your fork to keep your branch current. There are less conflicts this way and the git history is cleaner.

Sending a Pull Request

We receive contributions from both Bugzilla and Github. We have some specifications to keep track of them:

  1. If your bug comes from Bugzilla

    After addressing the issue, please send a pull request to this repository, with the Bugzilla's number ID in the title, so that our bot attaches your patch to the corresponding Bugzilla bug.

    "Bug xxxxxx - [title of the bug or brief explanation]"

    For example: "Bug 123456 - Fix scrolling behavior in Perfherder"

  2. If your bug comes from Github

    In the description of the pull request, please mention the issue number. That can be done by typing #[issue's number].

    For example: "This pull request fixes #5135".

    Github automatically links both issue and pull request to one another.

continuous-integration
django
django-rest-framework
docker
docker-compose
mozilla
python
react
reactjs
treeherder

Contributors

(top 30 of 240)

edmorley

2,039 commits

wlach

1,030 commits

renovate-bot

649 commits

maurodoglio

584 commits

mozilla/treeherder

A system for managing CI data for Mozilla projects

Python

275

10,388 commits

updated Sep 24, 2026

See the code

README

Treeherder

What's Deployed Build Status Node dependencies Status Documentation Status Code style: black Ruff

Description

Treeherder is a reporting dashboard for Mozilla checkins. It allows users to see the results of automatic builds and their respective tests. The Treeherder service manages the etl layer for data ingestion, web services, and the data model behind Treeherder.

Instances

Treeherder exists on two instances: staging for pre-deployment validation, and production for actual use.

Installation

The steps to run Treeherder are provided here.

The steps to run only the UI are provided here.

Visit our project tracking Wiki here.

For other setup and configuration, visit our readthedocs page here.

File any bugs you may encounter here.

Contributing

Everyone is welcome to contribute!

If a bug is not assigned to someone, you can request the bug be assigned to you. You should ask the component owner with your request ("Request information" in Bugzilla and mention in Github).

If you do not receive a response within 2-3 days, you can follow up in the #treeherder matrix channel.

After addressing the issue, make sure every test passes before sending a pull request.

We also recommend setting an upstream remote that points to the Mozilla's Github repo, in addition to origin that points to your fork. You should then frequently use git rebase upstream rather than merging from your fork to keep your branch current. There are less conflicts this way and the git history is cleaner.

Sending a Pull Request

We receive contributions from both Bugzilla and Github. We have some specifications to keep track of them:

  1. If your bug comes from Bugzilla

    After addressing the issue, please send a pull request to this repository, with the Bugzilla's number ID in the title, so that our bot attaches your patch to the corresponding Bugzilla bug.

    "Bug xxxxxx - [title of the bug or brief explanation]"

    For example: "Bug 123456 - Fix scrolling behavior in Perfherder"

  2. If your bug comes from Github

    In the description of the pull request, please mention the issue number. That can be done by typing #[issue's number].

    For example: "This pull request fixes #5135".

    Github automatically links both issue and pull request to one another.

continuous-integration
django
django-rest-framework
docker
docker-compose
mozilla
python
react
reactjs
treeherder

Contributors

(top 30 of 240)

edmorley

2,039 commits

wlach

1,030 commits

renovate-bot

649 commits

maurodoglio

584 commits

Languages

Python

55.6%

JavaScript

42.1%

CSS

2.0%