Engineering Effectiveness Newsletter (January 2022 Edition)

Welcome to the January edition of the Engineering Effectiveness Newsletter! This edition also encompasses changes from December. 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

Contributors

  • Luni-4
  • Giovanni Tangredi (giovannitangredi)
  • Luca Barbato (lu-zero)
  • Marco Ballario (marco-ballario)
  • Fabio Huser (fh1ch)
  • Stefan Nuernberger (snue)
  • Dominik Nakamura (dnaka91)
  • Masterwayz
  • Tom Schuster (evilpie)
  • Jonas Jenwald (Snuffleupagus)
  • Kodai Wakai (KouWakai)
  • quaoaris
  • Shivam Singhal (championshuttler)

Detailed Project Updates

Bugzilla and Bugbug

  • pulsebot is now running within our production infrastructure and is owned by Engineering Workflow. Thanks to glandium for writing a highly valuable tool, and to dkl for doing the work to rehost it.
  • Sylvestre added a new autonag check to escalate bugs with several duplicates

Build System and Mach Environment

CI and Treeherder

Crash Management

Fuzzing and Sanitizers

  • The fuzzing team is making progress in implementing the IPC Fuzzing Strategy
  • Working to enable additional UBSan checks function and float-cast-overflow. Nightly can now launch without triggering any issues. A few fixes remain for tests failing in CI.
  • Implemented a fuzzing target for WebGPU’s Javascript API in Domino

Lint, Static Analysis and Code Coverage

OS Integration and Security

  • win32k lockdown is progressing and landed default enabled on Nightly. This had to be backed out, but gave us valuable information on remaining issues.
  • We’ve enabled pre-spawn CIG (= enable Code Integrity Guard before a process is created) for socket process to reject code injection into socket process (currently only for nightly and early beta due to compat risk)
  • OS memory pressure detection and tab unloading shipped for Linux in 96.
  • Documentation for Gecko Processes and IPC has landed. This includes the IPDL language and some basic process feature integration (bootstrapping, sandboxing, XPCOM, etc).
  • Web MIDI will ship in Firefox 98 on Windows, macOS and Linux. The OS-specific bindings were implemented by relying on the midir Rust crate.

PDF.js

Phabricator , moz-phab, Lando , and Version Control

  • In Bug 1749747 evilpie added a commit hook to our Mercurial server to ensure that patches cannot be landed with a “WIP:” prefix; soon after Connor added the same check to Lando to catch this mistake earlier in the workflow.

Release Engineering and Management

  • hneiva, jmaher, ahal and aki migrated mozilla-extensions repositories to python3 and latest taskcluster version
  • gbrown automated publishing of Firefox releases to the Microsoft Store (beta only initially, release coming soon)
  • Release Management
    • 1 major release (Firefox 96, driven by Dianna), 2 dot releases
    • handled 5 incidents of various severities
    • The team can now be contacted on Slack with the @relman alias
  • Release Engineering
    • The team can now be contacted on Slack with the @releng alias
  • Sclements has moved Focus for Android releases from a manual process in Github to one initiated by Relman in shipit. This is the last milestone for fully modernizing the project’s CI and aligning the release process with other Firefox projects

Thanks for reading and see you next month!

1 Like