Welcome to the 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!
- Focus for Android has been switched to taskgraph and now has nightlies!
- Mach commands use less boilerplate!
- Lando will display warnings if reviewbot has unfinished or failed tasks!
- Support for XFA forms is enabled starting from Firefox 93!
- Alex Lopez
Detailed Project Updates
Bugzilla and Bugbug
- marco published a blog post describing the infrastructure that keeps bugbug running
- marco made the first steps to use bugbug and the autonag bot for Thunderbird bugs too
Build System and Mach Environment
- Alex Lopez simplified Mach commands into top-level module functions, removing the previous class-inheritance complexity and boilerplate. This involved updating all existing Mach commands, which was a significant undertaking. Thanks for all the hard work over the months to land this Alex!
- Mitch enhanced usage of system python packages to validate against in-tree requirements
- Mitch made the vendoring of python packages reproducible. Now, other than for a few explicit exceptions, CI will warn when vendored packages are modified in-tree. This ensures that the “==” specified matches the vendored source files.
- Welcome to Alex Hochheiden who joins the build team this week!
CI and Treeherder
- ahal added a reviewbot integration that displays links to diffs when you add or remove tasks in CI
- sclements set up taskgraph on focus-android (with assists from ahal and bhearsum)
- masterwayz has finished migrating Windows 10 to Azure
- gsvelto enabled support for PHC on macOS/AArch64
- gsvelto shrunk significantly ARM symbol files and made non-code executable areas visible in crash reports
- gsvelto expanded the types of exceptions and signals that are pretty-printed on crash-stats
- gsvelto improved scraping symbols on Debian/Ubuntu/Mint as well as on Arch. The latter required adding some extra functionality to symbolic
Lint, Static Analysis and Code Coverage
- ahal and marco fixed the script to generate coverage reports locally and updated the related docs
- andi improved the code review bot stability by reducing Redis connection issues
- zeid built an API to add custom warnings to Lando, and andi used it in the code review bot to send warning messages if a static-analysis or linting job is still running or if there are issues detected in a revision that haven’t been resolved.
- andi deprecated infer as a static-analysis tool since there was no longer the need for it, and the usage across mozilla was non-existent.
- Our ESLint mozilla/use-services rule now covers defineLazyServiceGetter(s) as well as Cc.getService().
- We’ve also just changed defineLazyScriptGetter, defineLazyServiceGetter and friends to allow passing of globalThis as well as this. This should allow use within es6 modules.
- Support for XFA forms is enabled starting from Firefox 93
- XFA is used by some governments and large organizations like banks
- You can now apply for a fish export license in Canada without leaving Firefox!
Phabricator , moz-phab, and Lando
- Zeid added custom warning support in Lando. New API endpoints can be used by any service (including code review bot, for example) to add landing warnings to specific revisions/diffs.
- Zeid added the ability for users to cancel deferred jobs (i.e. jobs that were submitted but could not land because of tree closure)
Release Engineering and Management
- Welcome to Heitor Neiva who joins Release Engineering this week!
Thanks for reading and see you next month!