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!
All Hands!
We significantly improved the experience of users by shifting 50-60% of parent process crashes on Windows to content process crashes.
PDF editing was released in 106, and the new feature was picked up by several press outlets!
Suhaib implemented a feature for autonag to reduce bugmail by aggregating related bot changes before posting them on Bugzilla.
Suhaib implemented a feature for autonag to detect mozregression results from bug comments and automatically set the "regressed by" field when possible.
Suhaib implemented a script that gradually requests re-triaging bugs with old high-severity values (i.e., blocker, critical, or major).
Suhaib implemented a feature for autonag to detect bugs with low crash volume to drop topcrash keywords and decrease the severity.
Starting with Bug 1746462 you can use the mold linker for linking Mozilla Firefox on most Linux distributions. MacOS support will come shortly.
arai added a mitten icon to tasks on Treeherder to indicate there are both failed and successful runs for it on the same push, or intermittent if you will.
ahal implemented a public_restricted pull request policy in Taskcluster Github and the Firefox-CI cluster.
This allows projects to run non-sensitive tasks on contributor pull requests without exposing sensitive scopes.
Brenden landed a patch to reduce the retention of Taskcluster artifacts depending on the branch, which will result in huge cost savings.
Next steps will be to reduce retention even further for artifacts we don’t need to store that long, e.g. crash symbols.
Jmaher added a “new” button to treeherder which should help give a signal for new failures not seen in the last 3 week.
masterwayz made lots of progress on the GCP migration, moving shippable builds and Android emulator tests from AWS over to GCP
All of Ubuntu Snap channels (stable, beta, edge and ESR) should now have proper symbols and are integrated with the pipeline to keep them updated.
code-review bot now has a retry mechanism when pushing to remote repositories and failure happens. It also detects try closures and retries when try is open.
Integration between heroku and code-review bot is more streamlined when shutdowns happen.
When a base revision is missing for the code-review bot, a message is going to be displayed in Phabricator informing the developer about this.
code-review bot implements the Mozilla Dockerflow supports.
Gabriele Svelto landed a change to our locking on macOS that significantly improves Firefox responsiveness on loaded systems.
Raymond Kraesig, in coordination with the Windows Spotlight team and Gabriele Svelto’s insight specifically, was able to shift 50-60% of parent process crashes on Windows to content process crashes, which significantly improves the experience for our users. Instead of bringing down the whole browser, a user typically only needs to reload a tab. The team is looking at reducing the total number of OOM crashes next. This graph illustrates the steep dropoff in parent process crashes (blue):
Bob Owen landed a change to use the WER runtime exception module to catch early crashes.
The Windows Spotlight team continued to address stability (1, 2, 3, 4, 5, 6), fullscreen (1), multi-monitor (1) and sizing (1, 2) issues.
Yannis Juglaret published mitimon, a tool that will help us collect useful debug information from bug reporters when their issue is related to security mitigations and we have trouble reproducing it.
PDF editing is enabled by default in 106, which was just released!
Next steps will be the ability to import signatures from images and the ability to highlight and comment.
Calixte fixed some serious pdf.js accessibility issues for HCM users and keyboard users
The new power profiling feature got some attention when it shipped in Firefox 104, including a blog post that reversed engineered it and wonders if/when a similar feature will appear in other browsers.
In addition to showing the instantaneous power, the profiler tooltip for power tracks now shows the energy used over the selected time range.
S3 storage investigation
Archive.m.o cleanup
aki presented a Chain of Trust deep dive to help cross-train on this important topic
gabriel and ahal automated more of the VPN release pipeline with signing and beetmover tasks
gabriel and ahal also created a release pipeline for the new VPN addons by adding signing, beetmover and a release promotion action
String freeze date is now available in product-details
The l10n bumper now runs on autoland instead of mozilla-central
zeid made improvements to the CI workflow, including automating PyPI deployments, moving all CI to GitHub Actions including the building of Windows packages. Also upgraded PySide2 to PySide6, dropped support for Python 3.6, and cleaned up outdated and unmaintained packages.
ahal and Sylvestre proposed and created a new module for Firefox Source Docs!
zeid moved module owner and peer definitions for Desktop Firefox, Toolkit, Core, and Testing to be in tree and the wiki pages are no longer used.
Thanks for reading and see you next month!
Build System and Mach Environment
Starting with Bug 1746462 you can use the mold linker for linking Mozilla Firefox on most Linux distributions. MacOS support will come shortly.