Engineering Effectiveness Newsletter (Q2 2025 Edition)

Welcome to the Q2 edition of the Engineering Effectiveness Newsletter! The Engineering Effectiveness org makes it easy to develop, test and release Mozilla software at scale. See below for some highlights, then read on for more detailed info!

Highlights

  • On the 30th April 2025 we successfully migrated Firefox’s source of truth from Mercurial to a new repo on Github :tada:
    • This was a massive effort that spanned many people and teams. It took meticulous planning and preparation from as early as 2023.
    • Please see the detailed updates for some of the specific contributions that made this migration possible!
  • The last vestiges of old-configure were removed! This marks the end of a 9 year journey to move build configuration from a shell script to Python.
  • The Bugzilla ETL was completed! This provides daily snapshots of Bugzilla data in BigQuery, opening the door to many new and exciting tooling opportunities.
  • Several improvements to our Python integration in mach:
    • Bumped the minimum Python version from 3.8 to 3.9.
    • Now using uv for all Python package installation and vendoring across mach and mozharness. This results in huge performance improvements locally and in CI.
    • Tooling to verify and fix the consistency and correctness of our vendored packages and the commands that use them.
  • Lots of tooling support for Jujutsu, a modern git compatible vcs with strong roots in Mercurial.

Contributors

Detailed Project Updates

Bugzilla and Bugbug

  • Dave Lawrence completed the Bugzilla ETL! This provides daily snapshots of Bugzilla data in Big Query.
  • Suhaib Mujahid made many improvements to the Review-Helper Firefox addon:
    • Learn continuously from both approved and rejected comments, which will help avoid suggesting comments similar to those that were rejected.
    • Approved comments are now posted immediately, without waiting for feedback on all comments.
    • Each suggested comment now has a justification explaining why it was recommended.
    • Added a new option in the add-on preferences to control verbosity levels.

Build System and Mach Environment

Crash Management

Firefox-CI, Taskcluster and Treeherder

Phabricator , moz-phab, and Lando

  • Erich Gubler added Jujutsu support to moz-phab.
  • Paul Adenot added a moz-phab abandon command to abandon revisions from the command line.
  • Claudia Pellegrino and Kagami Rosylight removed usages of the pkg_resources package in moz-phab to resolve deprecation warnings during install.
  • Connor Sheehan improved moz-phab’s base commit detection by looking for the first commit not present on a remote branch.
  • Connor Sheehan improved Lando’s detection of pre-initialized repos, bringing the worker startup time down from 20 minutes to 10 seconds.
  • Olivier Mehani enabled the diff inspection checks in Lando, which replaced many of the functions of the hg.mozilla.org server-side hooks. Connor Sheehan later added a flag to disable the hooks in case pushes are incorrectly blocked by the hooks.
  • Moz-phab had several new releases (1.9.0, 1.10.0, 1.11.0)

Release Engineering and Release Management

Version Control

  • Steve Fink added support for Jujutsu in mach via mozversioncontrol.repo.jj.py.
  • Alex Hochheiden improved ./mach vcs-setup for git. The default configuration now enables the built-in fsmonitor (or watchman on Linux, if installed) for improved performance.
  • Alex Hochheiden added Jujutsu support to ./mach vcs-setup via vcs=jj. It sets up a git co-located jj repo with sensible configuration defaults (also sets up watchman) to make it easier to get started.
  • Alex Hochheiden enabled mozversioncontrol tests for jj to run in CI.
  • Connor Sheehan and Julien Cristau created the mozilla-esr140 and comm-esr140 repositories and associated resources on hg.mozilla.org.
  • Connor Sheehan added references to the upstream Git commit to the changeset view on hg.mozilla.org, and the pushlog JSON API.
  • Julien Cristau added support for Git-style backouts to hg.mozilla.org’s backout detection.
  • Julien Cristau added a hook to block pushes that touch multiple Mercurial branches.
  • Julien Cristau restored the alert for an excessive number of try heads.
  • Julien Cristau moved the SSH push server to a virtualised node, and upgraded Mercurial to version 6.9.

Mercurial to Git project

Thanks for reading and see you next quarter!