Firefox Build System

All the stuff related to the build system and associated automation

Select a component to see open bugs in that component:

Bootstrap Configuration

Tracks issues related to the various tools that attempt to bootstrap and configure a system to optimally build and develop Firefox. This includes the standalone "mozboot" script, `mach bootstrap`, `mach mercurial-setup`, and `mach doctor`

Developer Environment Integration

For issues related to integrating Firefox development into other tools. e.g. Visual Studio and Eclipse integration. gdb and rr integration. Issues developing with the Emacs operating system.


File bugs here for general Firefox build system issues. This includes problems running `mach build`, `mach configure`, `mach package`, `mach artifact`, and other mach commands related to building Firefox. This component also tracks issues related to and make files.

General: Unsupported Platforms

Like the "General" component but for issues related to platforms not officially supported by Mozilla's infrastructure (e.g. FreeBSD, NetBSD, non-MacOS Darwin, etc).

Generated Documentation

For issues related to documentation generated from in-repository content. This covers the Sphinx documentation (`mach doc` and

Lint and Formatting

Issues related to linting tools (e.g flake8, eslint) and code formatting tools (clang-format). Feature requests for these tools can also be filed here

Mach Core

Tracking bugs and feature requests for mach: a generic CLI dispatching tool. *Issues with specific `mach` commands used to develop Firefox should be reported elsewhere. e.g. issues with `mach build` should be filed in the "General" component.

Source Code Analysis

For issues related to static analysis tools - e.g. clang-analyzer, Code Review Bot (reviewbot). Feature requests for source code analysis tools can also be filed here.

Task Configuration

Requests for assistance with creating and updating individual tasks and decision tasks for the TaskCluster Platform.


Firefox Build System Toolchains


For issues interfacing with try server, e.g mach try, pushing, trychooser. For scheduling requests, use the "Task Configuration" component.