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


 *

   A root cause analysis (RCA) for the FoxStuck incident is now
   available
   
<https://docs.google.com/document/d/1w7YcHCSLwf16CVr85xI97ssQeb_8zbgmH_1gAB85dAk/edit>and
   a technical blog post
   
<https://hacks.mozilla.org/2022/02/retrospective-and-technical-details-on-the-recent-firefox-outage/>has
   been published.

 *

   Engineering Effectiveness is hiring! If you know of anyone who would
   be a great fit for any of the following roles, consider referring
   them for a bonus!

     o

       Machine Learning Engineer (Development Tools)
       <https://www.mozilla.org/en-US/careers/position/gh/3596929/>

     o

       Python Software Engineer - Tooling

     o

       Speaking of hiring, we welcome Raymond Kraesig
       <mailto:[email protected]>to the OS Integration team. His
       initial focus will be on Windows quality work. Max Vollmer will
       join us next week and also assist with Windows improvements.


   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
   
<https://github.com/mozilla/relman-auto-nag/commit/dfa6c3cc8337c31587189b95ef1e110096689eb1>to
   escalate bugs with several duplicates


     Build System and Mach Environment

 *

   championshuttler removed
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1746782>deprecated
   recommonmark and added support for myst-parser
   <https://myst-parser.readthedocs.io/en/latest/#>in Firefox Source
   Docs. Developers can now integrate mermaid graphs in markdown files too.

 *

   mhentges added the ability to invoke Mach outside of the
   MozillaBuild environment
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1740123>on Windows,
   allowing Windows developers to use their shell of choice and
   unlocking the way for future MozillaBuild improvements

 *

   glandium removed the dependency on pkg-config on platforms that
   don't require it
   <https://bugzilla.mozilla.org/show_bug.cgi?id=513617>(currently
   Windows, macOS, and Android); closing out a 13 year old pain point

 *

   alex untangled `mach show-log`'s usage of pipes
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1748070>resolving
   various bugs on Windows (including it outright failing to work)

 *

   glandium made configure bootstrapping faster by avoiding duplicate
   taskgraph lookups
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1748966>; the
   duplicate looked wasted a noticeable amount of time, especially on
   Windows


     CI and Treeherder

 *

   Sebastian made Treeherder UI resilient against taskcluster downtime
   and automated reopening of intermittent bugs
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1422706>which turned
   active again

 *

   jmaher, masterwayz and ahal kicked off the Firefox CI worker pool
   GCP migration <https://bugzilla.mozilla.org/show_bug.cgi?id=1525096>

 *

   ahal made some more progress merging
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1746414>the Gecko
   <https://searchfox.org/mozilla-central/source/taskcluster/gecko_taskgraph>and
   standalone taskgraph <https://hg.mozilla.org/ci/taskgraph>code bases

 *

   sclements added some more improvements to the taskgraph docs
   <https://taskcluster-taskgraph.readthedocs.io/en/latest/>, including
   a “Debugging and Testing” section


     Crash Management

 *

   Stack overflows are now properly caught
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1678152>in Linux builds


     Fuzzing and Sanitizers

 *

   The fuzzing team is making progress in implementing the IPC Fuzzing
   Strategy
   
<https://docs.google.com/document/d/1OTLnwGYgQHnzFRcUoYg31r1f9mPJKNcLyPX6Gy_eB1Y/edit?usp=sharing>

 *

   Working to enable additional UBSan checks function
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1748880>and
   float-cast-overflow
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1749864>. 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

 *

   fh1ch fixed grcov’s Cobertura output
   <https://github.com/mozilla/grcov/pull/759>to match what the
   standard cobertura tool does

 *

   dnaka91 set grcov’s CI up on GitHub Actions
   <https://github.com/mozilla/grcov/pull/667>, long overdue after
   Travis CI deprecation

 *

   snue fixed multiple Clippy issues
   <https://github.com/mozilla/grcov/pull/767>in grcov and enabled
   running it as part of CI

 *

   marco-ballario added integration tests
   <https://github.com/mozilla/rust-code-analysis/pull/724>for
   rust-code-analysis and added averages for some metrics (e.g. the Nom
   metric <https://github.com/mozilla/rust-code-analysis/pull/736>)

 *

   Luni-4 added support for parsing files concurrently
   <https://github.com/mozilla/rust-code-analysis/pull/709>in
   rust-code-analysis, updated some grammars and fixed the automated
   publication of the crate
   <https://github.com/mozilla/rust-code-analysis/pull/758>

 *

   giovannitangredi added minimum and maximum implementation for some
   rust-code-analysis metrics (e.g. the Nargs metric
   <https://github.com/mozilla/rust-code-analysis/pull/715>)


     OS Integration and Security

 *

   Welcoming Raymond Kraesig <mailto:[email protected]>to the OS
   Integration team. His initial focus will be on Windows quality work.

 *

   Max Vollmer will join us next week and also assist with Windows
   improvements.

 *

   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
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1743427>(= 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 <https://bugzilla.mozilla.org/show_bug.cgi?id=836897>will
   ship in Firefox 98 on Windows, macOS and Linux. The OS-specific
   bindings were implemented by relying on the midir
   <https://github.com/Boddlnagg/midir>Rust crate.


     PDF.js

 *

   Jonas enforced PAGE-scrolling
   <https://github.com/mozilla/pdf.js/pull/14324>for *very* large/long
   documents

 *

   Kenan is helping reproduce and find regression ranges for many
   pre-existing pdf.js bugs. Thanks to his contributions, we closed
   dozens of bugs that are no longer reproducible and we have more
   information to fix the bugs that still exist.

 *

   KouWakai fixed the handling of non-integer Annotation border widths
   <https://github.com/mozilla/pdf.js/pull/14391>

 *

   Quaoaris fixed lines (stroke) that are rendered too thick
   <https://github.com/mozilla/pdf.js/pull/14491>

 *

   Brendan simplified the tags we use to track pdf.js bugs, and Calixte
   helped convert all existing bugs to the new format
   <https://github.com/mozilla/relman-auto-nag/pull/1278>and collect
   statistics to investigate the most common problems.

 *

   Calixte improved the algorithm to calculate the font size for
   AcroForm fields <https://github.com/mozilla/pdf.js/pull/14510>

 *

   Calixte fixed a long standing bug
   <https://github.com/mozilla/pdf.js/pull/14516>where pdf.js UI
   buttons would stay in hover state after being clicked


     Phabricator , moz-phab, Lando , and Version Control

 *

   In Bug 1749747
   <https://bugzilla.mozilla.org/show_bug.cgi?id=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
   
<https://github.com/mozilla-conduit/lando-api/commit/2d04a14f240ece546f161f209ed7f14460e2579b>to
   catch this mistake earlier in the workflow.


     Release Engineering and Management

 *

   Release Engineering would like to say farewell to Sarah Clements who
   is moving to the Firefox front-end team. Thanks for all your
   contributions!

 *

   hneiva, jmaher, ahal and aki migrated mozilla-extensions
   repositories to python3 and latest taskcluster version
   <https://mozilla-hub.atlassian.net/browse/RELENG-659>

 *

   gbrown automated publishing of Firefox releases
   <https://mozilla-hub.atlassian.net/browse/RELENG-758>to the
   Microsoft Store (beta only initially, release coming soon)

 *

   Release Management

     o

       1 major release (Firefox 96, driven by Dianna), 2 dot releases

     o

       handled 5 incidents of various severities

     o

       The team can now be contacted on Slack with the @relman alias

 *

   Release Engineering

     o

       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
   <https://github.com/mozilla-mobile/focus-android/pull/6180>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!

--
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/e7d0e8c2-7d03-2f3f-b764-2c9773ecc8b3%40mozilla.com.

Reply via email to