How Mozilla uses Python to build and ship Firefox

by Chris AtLee

open source industry release engineering

Mozilla ships a new version of Firefox every 6-8 weeks, new Betas are released twice a week, and Nightly builds are released twice a day. Learn how Python is used at Mozilla in all stages of the build and release pipeline to bring Firefox to the world!


Mozilla uses Python at nearly all stages of the build and release process. The goal of this talk is to give an overview of the various ways Python are used in a large scale infrastructure for shipping desktop and mobile applications.

In brief the flow is: version control (hg in python) -> taskcluster (node) -> build system (python) -> signing (python) -> publishing (python). Firefox’s update server (Balrog) is completely written in Python and serves millions of requests each day.

All of our code is developed in the open, and so you can follow along and see for yourself how Mozilla builds and ships Firefox to the world!


About the Author

Chris AtLee leads the Firefox Release Engineering team at Mozilla. He has been using with Python for over 15 years to build CI systems, glue infrastructure together, and to automate his life. You can reach Chris @chrisatlee on Twitter.

Author website: https://atlee.ca