Welcome to the December and January 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!

Highlights 
   
   - 
   
   MozillaBuild 4.1 was released.
   - 
   
   Add support for colored highlighting in pdfs.
   - 
   
   Fenix as a default pdf reader on Android is live in 122.
   - 
   
   Connor Sheehan added a dedicated landing worker for Lando-try pushes. 
   Pushes will land faster and no longer share a landing queue with regular 
   landings.
   - 
   
   New releases of moz-phab.
   - 
   
   Gabriel Bustamante shipped Mozilla’s first official .deb package 
   
<https://blog.mozilla.org/en/products/4-reasons-to-try-mozillas-new-firefox-linux-package-for-ubuntu-and-debian-derivatives/>
 
   for Linux users in Firefox 122.
   

Contributors 
   
   - 
   
   John Pangas <https://github.com/jpangas>
   - 
   
   Promise Fru <https://github.com/PromiseFru>
   - 
   
   Shubham Srivastava <https://github.com/shubham-s-del>
   - 
   
   Theodoros Nikolaou <https://github.com/theoniko>
   - 
   
   Kaiji Fu <https://github.com/kaijif>
   - 
   
   Naoya Kamoto <https://github.com/naoya2000>
   
Detailed Project UpdatesBugzilla and Bugbug 
   
   - 
   
   Sylvestre Ledru implemented a new BugBot rule to notify release managers 
   about bugs with a lot of see aslo 
   <https://github.com/mozilla/bugbot/pull/2284>.
   - 
   
   John Pangas implemented a new BugBug model to identify accessibility 
   related bugs <https://github.com/mozilla/bugbug/pull/3775>.
   - 
   
   Promise Fru implemented a new BugBug model to identify performance 
   related bugs <https://github.com/mozilla/bugbug/pull/3895>.
   
Build System and Mach Environment 
   
   - 
   
   MozillaBuild 4.1 was released.
   
CI and Treeherder 
   
   - 
   
   Andrew Halberstadt implemented the -E/–use-existing-tasks flag 
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1752677> for ./mach try 
   fuzzy and ./mach try chooser. This will detect your previous try push 
   and insert all the tasks that ran there (minus any tasks you explicitly 
   select) into the graph of your new try push. This allows for faster 
   iteration on the task at hand, without needing to wait for its dependencies 
   each time.
   
Crash Management 
   
   - 
   
   Windows crash reports now contain the list of open HANDLEs 
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1873665> of the crashed 
   process and Linux crash reports include the list of open file descriptors 
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1864000>. Additionally the 
   Linux crash reports include the contents of the /proc/<pid>/limits file. 
   All this data is not yet visible on crash-stats but can be extracted from 
   the minidumps if you have protected data access.
   - 
   
   Alpine Linux enabled the crash reporter in their Firefox package and we 
   started scraping their symbols 
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1869183> and ingesting 
   crash reports from their users.
   - 
   
   Crash reports from external Fenix forks are now filtered out 
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1819628> so they don’t 
   pollute the data on crash-stats
   - 
   
   Suhaib Mujahid <smuja...@mozilla.com> improved BugBot to detect and 
   highlight PHC crashes <https://github.com/mozilla/bugbot/pull/2327> 
   (thanks to Paul Bone <pb...@mozilla.com>)
   
Lint, Static Analysis and Code Coverage 
   
   - 
   
   The whitespace and file permission linters now run on yaml files 
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1789033> (e.g. 
   metrics.yaml)
   - 
   
   All production files are now named using the .worker.*js syntax 
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1866641>.
   - 
   
   Additionally, we have turned on no-unused-vars on a global scope for 
   workers <https://bugzilla.mozilla.org/show_bug.cgi?id=1867253>.
   - 
   
   We have now added an ESLint rule to reject new uses of Console.sys.mjs 
   and Log.sys.mjs 
   
<https://groups.google.com/a/mozilla.org/g/firefox-dev/c/su0q77h4gM4/m/rV1WveEzAgAJ>
   .
   - 
      
      We have three different module logging mechanisms available to our 
      JavaScript code, and want to reduce those down to one.
      - 
      
      For new code please use console.createInstance 
      
<https://firefox-source-docs.mozilla.org/toolkit/javascript-logging.html#logging-using-the-console-web-api>
      .
      - 
      
      We will start with the migration away from Console.sys.mjs as that is 
      closest to console.createInstance, and will look at Log.sys.mjs later. 
      However, if teams want to investigate moving away sooner, and find 
issues, 
      please file bugs blocking the appropriate metas (Console.sys.mjs 
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1430810>, Log.sys.mjs 
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1828156>)
      - 
   
   The license linter has been fixed to not report an error when it has 
   successfully fixed a file 
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1568873>. It will also now 
automatically 
   fix .mjs files <https://bugzilla.mozilla.org/show_bug.cgi?id=1874607>.
   - 
   
   XPCOMUtils.defineLazyGetter has now been replaced by 
   ChromeUtils.defineLazyGetter 
   
<https://groups.google.com/a/mozilla.org/g/firefox-dev/c/pVESEgi4vpo/m/wStFqqRHAgAJ>.
 
   An ESLint rule has also been added to reject uses of the former.
   - 
   
   The whitespace and file permission linters now run on .mn files 
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1874828> (e.g. jar.mn).
   - 
   
   ESlint has deprecated the no-return-await rule 
   <https://eslint.org/docs/latest/rules/no-return-await>. We have therefore 
stopped 
   enforcing it on mozilla-central 
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1875027>.
   
OS Integration and Security 
   
   - 
   
   Paul Bone is continuing the PHC roll-out.  PHC is currently enabled for 
   10% of the Firefox Release population. While most of the crash reports 
   coming in are bad hardware or similar we’re beginning to get actionable 
   information for real memory errors.
   
PDF.js 
   
   - 
   
   Add support for highlighting (text or not).
   - 
   
   Switch from CDP to BiDi driver when running tests: there are almost no 
   more intermittents with Firefox.
   - 
   
   Fenix as a default pdf reader on Android is live in 122.
   
Firefox Translations 
   
   - 
   
   https://bugzilla.mozilla.org/show_bug.cgi?id=1868949
   - 
   
   Unblocked training any languages by integrating Bicleaner-AI 
   multilingual model for dataset filtering and optimizing BicleanerAI to run 
   efficiently on GPUs
   - 
   
   Successfully completed an experiment to prove that OpusTrainer fixes 
   casing issues in translations by training English -> Lithuanian model. 
   Evaluation results:
   - 
   
   Fixed a major training instability issue 
   <https://github.com/mozilla/firefox-translations-training/issues/314>
   - 
   
   Integrated training continuation 
   <https://github.com/mozilla/firefox-translations-training/pull/226> to 
   reuse previously trained models
   - 
   
   https://bugzilla.mozilla.org/show_bug.cgi?id=1837424
   - 
   
   https://bugzilla.mozilla.org/show_bug.cgi?id=1873743
   

Phabricator , moz-phab, and Lando 
   
   - 
   
   Connor Sheehan released moz-phab 1.5.0 and 1.5.1. See release notes 
   below.
   - 
      
      https://discourse.mozilla.org/t/moz-phab-1-5-0-released/126680/2 
      - 
      
      https://discourse.mozilla.org/t/moz-phab-1-5-1-released/126754/2 
      - 
   
   Connor Sheehan added a dedicated landing worker for Lando-try pushes. 
   Pushes will land faster and no longer share a landing queue with regular 
   landings.
   - 
   
   Connor Sheehan made mach try –push-to-lando better at identifying the 
   base revision for submission, fixing some issues where patches would submit 
   but fail to apply within Lando.
   - 
   
   Connor Sheehan fixed an issue with Lando’s Git patch parser where 
   patches would fail to apply within Lando due to incorrectly parsed Git 
   version info in the patch.
   - 
   
   Connor Sheehan made Lando-uplift re-use existing Phabricator diff 
   information instead of reconstructing from a raw patch, fixing display 
   issues in the diff view and resolving an issue where binary files would be 
   lost at landing time.
   - 
   
   Connor Sheehan moved the uplift request button to a more discoverable 
   area and the form into a separate modal.
   
Release Engineering and Management 
   
   - 
   
   Release Management released Firefox Fx121 
   <https://whattrainisitnow.com/release/?version=121> and Fx122 
   <https://whattrainisitnow.com/release/?version=122> on Desktop, Android, 
   and iOS.
   - 
      
      Fx121 also included 1 dot release on Desktop and 2 dot releases for 
      Android and iOS
      - 
      
      Fx122 also included 1 dot release on Desktop and 2 dot releases for 
      Android and iOS
      - 
   
   Gabriel Bustamante shipped Mozilla’s first official .deb package 
   
<https://blog.mozilla.org/en/products/4-reasons-to-try-mozillas-new-firefox-linux-package-for-ubuntu-and-debian-derivatives/>
 
   for Linux users in Firefox 122. After 7 days on release, we already 
   gathered 4k DAU 
   
<https://sql.telemetry.mozilla.org/dashboard/mozilla-s-deb-package-uptake-dau-bug-1799516-?p_normalized_channels=%5B%22release%22%5D>
 
   and 8k MAU 
   
<https://sql.telemetry.mozilla.org/dashboard/mozilla-s-deb-package-uptake-bug-1799516-?p_normalized_channels=%5B%22release%22%5D>
 
   and numbers are still steadily growing. The .deb package was called out 
   in 40 news articles 
   
<https://docs.google.com/spreadsheets/d/1D7SbbNBbAJAb9IZRK0blfPbTxxDHAp02UYVJytB-Puw/edit#gid=0>
   .
   - 
   
   Heitor Neiva and Haik Aftandilian, thanks to their work on macOS 
   hardened entitlements, enabled the Security Engineering team to ship 
   macOS Passkeys <https://bugzilla.mozilla.org/show_bug.cgi?id=1853230>. 
   This major highlight of Firefox 122 was covered in 27 news articles 
   
<https://docs.google.com/spreadsheets/d/1D7SbbNBbAJAb9IZRK0blfPbTxxDHAp02UYVJytB-Puw/edit#gid=0>
   . 
   - 
   
   Geoff Brown and Ryan VanderMeulen enabled a new Android packaging format 
   (AAB) on Firefox for Android. We were close to not being able to ship new 
   features anymore. The new format sets a new size constraint that is 
   twice larger <https://developer.android.com/guide/app-bundle/>. Moreover 
   Fenix packages got 30% smaller which improves the update experience.
   - 
   
   Ben Hearsum fixed a bug in Taskcluster that caused live logs and 
   interactive tasks to fail under certain circumstances 
   <https://github.com/taskcluster/taskcluster/pull/6778>.
   - 
   
   Julien Cristau solved the biggest problem we had on the Android 
   repository migration: how do we connect the Firefox build system to the 
   Fenix one when there’s all in the same repo. This was a problem with a lack 
   of knowledge at Mozilla and dozens of parameters to take into account. 
   - 
   
   The work that Ben Hearsum and Heitor Neiva did on macOS Attribution 
   
<https://docs.google.com/document/d/1NLobogbVfSYofcm7b61tesTirlXpmxwIRYd6Gsd3tt8/edit?tab=t.0#heading=h.2wvekawj4lm5>
 
   in 2023H2 (Firefox ORK 4.1 
   
<https://docs.google.com/document/d/1mkpUOa-1OWmbQ5KMIcHUz1Tf3peg-GxIbz2bJSQkATg/edit#heading=h.wyv60qlnfr79>)
 
   is rolling out with Firefox 123. Early data shows a very high attribution 
   rate of ~90%.
   - 
   
   Andrew Halberstadt made improvements to Ship-It to support arbitrary 
   groups of projects 
   
<https://github.com/mozilla-releng/shipit/commit/acc796338594a24b394d450a7f5f1982ddfb5e32>.
 
   Previously all projects were assumed to be related to Firefox or 
   mozilla-extensions.
   - 
   
   Building on the above, Andrew Halberstadt added support for releasing 
   Mozilla VPN client and addons 
   
<https://github.com/mozilla-releng/shipit/commit/8820f4cd7d0e0b52cb63a3ae3dd6367ee1728a4a>
 
   through Ship-It.
   
Version Control 
   
   - 
   
   Connor Sheehan and an external contractor worked to resolve issues 
   around corruption in the try repo, allowing us to upgrade the storage 
   format. This provided a moderate improvement in push time.
   - 
   
   Connor Sheehan added support for clonebundles manifest filtering in 
   newer versions of Mercurial, avoiding bustages in CI.
   

Thanks for reading and see you next month!

-- 
You received this message because you are subscribed to the Google Groups 
"dev-platform@mozilla.org" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dev-platform+unsubscr...@mozilla.org.
To view this discussion on the web visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/02c75ad6-c4db-4491-b63f-42f684f81d29n%40mozilla.org.

Reply via email to