Welcome to the November 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

   -

   A massive refactor around how Mach manages its Python environment
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1717051> is wrapping up.
   -

      Separate virtualenvs <https://docs.python.org/3/tutorial/venv.html>
      for individual commands and checkouts
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1739067>.
      -

      No more failures due to a Python dependency being the wrong version.
      -

      No more `mach create-mach-environment`.
      -

      Significantly eases the burden on tool authors.
      -

   The stack walker
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1741205#c11> used in CI
   and on developer machines has been re-written in Rust.
   -

      The new one is faster, more flexible, more robust and provides a
      human friendly output format!
      -

      Will soon be used by crash-stats.mozilla.com as well.
      -

   Explorations into Intel CET
   
<https://www.bleepingcomputer.com/news/security/google-chrome-microsoft-edge-getting-this-intel-security-feature/>
   (Control-flow Enforcement Technology) are yielding security bugs.

Contributors

   -

   Jane Kotovich (janekotovich)
   -

   Sivadeilra
   -

   Devon Burriss (dburriss)
   -

   Giovanni Tangredi (giovannitangredi)
   -

   Luca Barbato (lu-zero)
   -

   Marco Ballario (marco-ballario)
   -

   masterwayz

Detailed Project UpdatesBugzilla and Bugbug

   -

   Sebastian enabled auto tracking approval
   <https://github.com/mozilla/relman-auto-nag/pull/1232> for expiring
   telemetry probes.
   -

   Calixte updated the autonag bot to notify about P1 bugs with no assignees
   <https://github.com/mozilla/relman-auto-nag/pull/1234>.
   -

      Please use this as an opportunity to re-triage P1 bugs that are not
      actually P1 (see Priority Definitions - Firefox Source Docs
      documentation
      
<https://firefox-source-docs.mozilla.org/bug-mgmt/guides/priority.html#priority-definitions>
      ).

Build System and Mach Environment

   -

   Glandium fixed artifact builds
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1690870> so they now work
   on Apple Silicon Macs.
   -

      This was previously blocked by the new code signing requirements
      introduced in MacOS 11.
      -

   Mitch released MozillaBuild 3.4
   <https://groups.google.com/a/mozilla.org/g/dev-platform/c/MzWYQ0NtXos>,
   upgrading bundled software to recent versions.
   -

   Mitch improved Mach so it now automatically manages its Python
   environment <https://bugzilla.mozilla.org/show_bug.cgi?id=1717051>, and uses
   a different virtualenv for each worktree
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1739067>
   -

      No more unexpected failures when out of date or manual `./mach
      create-mach-environment` invocations.
      -

   Mitch also resolved a major source of inconsistencies when importing
   Python packages <https://bugzilla.mozilla.org/show_bug.cgi?id=1730712>
   -

      This allows for the simplification of cases like symbols_archive.py
      
<https://searchfox.org/mozilla-central/source/python/mozbuild/mozbuild/action/symbols_archive.py#51-89>
      -

   Alex improved compatibility with Python 3.10
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1718878>, specifically
   around the collections module.

CI and Treeherder

   -

   ahal cleaned up the test task configuration by removing ambiguity around
   where tasks run
<https://bugzilla.mozilla.org/show_bug.cgi?id=1737110>, revamping
   the variants system
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1737673>, exposing data
   about the execution environment of a task
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1632870> and re-factoring
   the transforms <https://bugzilla.mozilla.org/show_bug.cgi?id=1700774>.

Crash Management

   -

   Aria Beingessner rewrote the stack walker
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1741205#c11> we use in CI
   and on developer machines to Rust.
   -

      The new one is faster, more flexible, more robust and provides a
      human friendly output format!
      -

      She is also deploying it to Socorro with the help of willkg and will
      soon be used by crash-stats.mozilla.com.
      -

   Calixte documented Clouseau
   <https://github.com/mozilla/crash-clouseau/blob/master/HOWTO.md>, a tool
   that helps quickly triage large numbers of crashes.
   -

      If you find yourself triaging crashes often, give Clouseau a shot!

Fuzzing and Sanitizers

   -

   The fuzzing team has been exploring Intel CET
   
<https://www.bleepingcomputer.com/news/security/google-chrome-microsoft-edge-getting-this-intel-security-feature/>
   (Control-flow Enforcement Technology).
   -

      This has been finding real security issues in the field and bugs are
      being filed.
      -

      Team is looking for ways to make these types of issues easier to pull
      out of crash telemetry.

Lint, Static Analysis and Code Coverage

   -

   sivadeilra fixed a long standing grcov issue
   <https://github.com/mozilla/grcov/pull/720> related to symlink usage on
   Windows.
   -

   Devon Burriss (dburriss) documented how to add a new language
   <https://github.com/mozilla/rust-code-analysis/pull/692> to
   rust-code-analysis.
   -

      Check out the article we published on SoftwareX journal
      <https://www.sciencedirect.com/science/article/pii/S2352711020303484>
      for more info about rust-code-analysis.
      -

   Giovanni Tangredi (giovannitangredi) added minimum and maximum
   implementations for the cyclomatic
   <https://github.com/mozilla/rust-code-analysis/pull/699>, the nexit
   <https://github.com/mozilla/rust-code-analysis/pull/712> and the
   cognitive <https://github.com/mozilla/rust-code-analysis/pull/713>
   metrics in rust-code-analysis
   -

   Luca Barbato (lu-zero) slightly refactored the mk_enum macro
   <https://github.com/mozilla/rust-code-analysis/pull/710>, enabling the
   removal of a dependency from rust-code-analysis
   -

   Marco Ballario (marco-ballario) moved C integration tests to their
   rightful place <https://github.com/mozilla/rust-code-analysis/pull/697>
   in rust-code-analysis.
   -

   sylvestre added a linter
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1738988> to our CI which
   prevents the trojan-source <https://www.trojansource.codes/>
   vulnerability.
   -

   Standard8 enabled some more ESLint rules
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1656282> on xhtml files
   under dom/.
   -

      no-undef and no-unused-vars

OS Integration and Security

   -

   gcp updated jemalloc to use guard pages before the allocation area
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1546442>.
   -

      This helps prevent buffer underrun exploits.
      -

   Nika Layzell joins the team and will be working on improving our IPC
   infrastructure.

PDF.js

   -

   Jane Kotovich fixed an issue in XFA
   <https://github.com/mozilla/pdf.js/pull/14218> where some nodes must be
   removed from the template DOM because they’re unbound.
   -

   Calixte fixed the long-standing intermittent bugs
   <https://github.com/mozilla/pdf.js/pull/14240> we had in the pdf.js test
   suite because of XFA.
   -

   Calixte added support for rich text in annotations
   <https://github.com/mozilla/pdf.js/pull/14182>.
   -

   Brendan added a way to track 2D path bounding boxes
   <https://github.com/mozilla/pdf.js/pull/14230> to improve performance
   and memory usage with certain PDFs.

Phabricator , moz-phab, and Lando

   -

   Mitch tweaked Phabricator Emails to include watchers when sending emails
   to reviewer groups <https://bugzilla.mozilla.org/show_bug.cgi?id=1734925>
   .

Release Engineering and Management

   -

   Release Engineering would like to:
   -

      Welcome Gabriel Bustamante who joined full time last week
      -

      Welcome chidinma who will be improving test migration tooling as part
      of Outreachy
      -

      Say farewell to bhearsum who has moved to the Desktop Installation
      team
      -

   Release Management would also like to welcome Donal Meehan!
   -

   UpdateVerify now pre-fills the cache asynchronously
   <https://bugzilla.mozilla.org/show_bug.cgi?id=527670> thanks to hneiva!
   -

      This change improved UV performance by ~19%, saving ~8 minutes on
      average for each ongoing beta and paves the way to refactor UV to async
      Python.
      -

   sclements is moving Focus for Android releases to shipit.
   -

      This will standardize the release process and make lives easier.
      -

   sclements and others got the ball rolling on standalone taskgraph docs
   <https://taskcluster-taskgraph.readthedocs.io/en/latest/index.html>.
   -

      These docs will focus on lowering the barrier to entry for new users.


Thanks for reading! We’ll be taking a break this month, so we’ll see you
next year for the combined December/January edition.

-- 
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/CAAJAz%2B5EWoCsD3w4btUROw9EemQCAFhRpSAa9Eb2hdR43EKgLw%40mail.gmail.com.

Reply via email to