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.
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!
