Engineering Effectiveness Newsletter (August & September 2024 Edition)

Welcome to the August and September 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

  • Please welcome the Taskcluster team to this newsletter!

Contributors

Detailed Project Updates

Bugzilla and Bugbug

Build System and Mach Environment

  • Alex Hochheiden Replaced poetry with uv in ./mach vendor python and added some new features (–add, --remove, --upgrade, and --force). Vendoring Python is now two times faster.

CI and Treeherder

  • Andrew Halberstadt is creating a cost ETL for the Firefox-CI Taskcluster instance, and an early tasks explore is now available in Looker!
    • Don’t trust this data for mission critical things just yet, but do poke around and raise any discrepancies you find

Crash Management

Glean migration

  • Are we Glean yet? A dashboard shows the progress of migrating Firefox desktop from legacy telemetry to Glean.
  • Expired and historical legacy telemetry histograms and scalars were removed (5.7k lines of code removed).
  • Most legacy telemetry events (JS, C++) are now recorded using Glean.
  • Most data collection in Firefox can now be visualized in the Firefox Profiler with markers. Legacy Telemetry is fully covered, Glean is work-in-progress. (example profile)

Lint, Static Analysis and Code Coverage

  • 25-30% speedup of identification of new issues in tasks scheduled by Code Review Bot, by Bastien Abadie from Teklia
  • major upgrades of backend of Code Review Bot for redis and Django (to 5.1)

OS Integration and Security

PDF.js

  • The toolbar has been refactored in order to make it more accessible:
    • Its height can be changed thanks to the pref browser.uidensity
    • The hardcoded tabindex have been removed.

Firefox Translations

  • Evgeny Pavlov and Greg Tatum’s training pipeline produced 10 more shippable models.
    • cs-en (Czech to English)
    • en-da (English to Danish)
    • en-fi (English to Finnish)
    • en-hr (English to Croatian)
    • en-sl (English to Slovenian)
    • en-sv (English to Swedish)
    • en-tr (English to Turkish)
    • id-en (Indonesian to English)
    • ro-en (Romanian to English)
  • Erik Nordin (1911890) fixed an issue with publishing a new minor-version upgrade of models.
    • This has allowed us to ship upgrades, including quality and robustness improvements, to the following models, trained by Evgeny Pavlov and Greg Tatum.
      • el-en (Greek to English)
      • ru-en (Russian to English)
      • sl-en (Slovenian to English)
      • uk-en (Ukrainian to English)
  • Erik Nordin (1866827) implemented changes to allow Firefox to retain the user’s most recently translated-into languages in order to populate better-informed default values for users.
  • Erik Nordin (1919230) reworked and improved the translation of attributes within Firefox.
    • Attribute translations now respect notranslate rules on the current element.
    • Attribute translations now respect notranslate rules from parent elements.
    • We now have more fine-grained filters on when attributes are translated, for example, the value attribute is only translated on elements that behave like buttons.
  • The Translations Team has started work to support Chinese, Japanese, and Korean (CJK) translations.
  • Greg Tatum added support for importing data from HPLT for training https://hplt-project.org/
  • Teklia finished working on adding support for experiment tracking in Weights and Biases: Weights & Biases

Power use

Phabricator , moz-phab, and Lando

Release Engineering, Taskcluster and Release Management

  • The Release Management team handled their first mergeday without Release Engineering actively involved for some parts (FFXP-2809). There are still a few more steps for RelEng to automate.
  • Firefox ESR115 support extended until at least March 2025. Julien Cristau made the necessary changes to make ESR128 the current ESR branch while keeping 115 around.
  • Pete Moore added support of headless Linux workers on generic-worker taskcluster#7247. This paves the way for the d2g migration (from docker-worker to generic-worker)
  • Matt Boris switched generic-worker to use docker as the container engine by default. It used to be podman. Having docker will reduce the scope of changes on the d2g migration.
  • Yarik Kurmyza bumped the maximum number of task dependencies to 10,000 (was 100) taskcluster#7158. This unblocks Firefox Translations which has complex graphs with more than 100 dependencies for one task. Firefox Desktop worked around that limit but the same workaround didn’t work on Translations
  • Ben Hearsum and Heitor Neiva upgraded several crypto libraries on Autograph. Autograph is our in-house secured signing server. It has been unmaintained for several years. Release Engineering is helping the Core Services team to catch up on this tech debt.
  • Donal Meehan worked with the security team to develop a policy for shipping security fixes in the planned mid-cycle dot release in order to reduce the lag between a fix being created and shipping to users.
  • The 2025 Firefox Release Calendar has been finalized,
  • Pascal worked on improving whattrainisitnow.com to make it more efficient and provide more features. That includes the addition of an RSS feed to be alerted of new releases, the creation of a page dedicated to track top crashers and uplifts per beta, the addition of more data hints to the release pages such as the adoption rate of releases or milestones matching a wellness day. The app is also more mobile-friendly, got a modest visual refresh and provides new APIs for external tools.
  • RelEng is hiring.

Version Control

  • Julien Cristau made the Mercurial setup wizard always update the evolve extension without requiring the user to go through the entire setup process.
  • Julien Cristau and Connor Sheehan tweaked the retention time for logs in the Kafka cluster behind hg.mozilla.org, avoiding an outage and improving service stability.
  • Jon Buckley and Greg Cox worked to renew the hg.mozilla.org and hg.cdn.mozilla.net SSL certificates.
  • Connor Sheehan tweaked the rate limits to be much more restrictive for non-CI traffic to hg.mozilla.org.

Thanks for reading and see you next time!