[cross-posting to firefox-dev]

 Hello fellow Mozillians,
the engineering effectiveness team works on a disparate number of topics
with the goal of improving every aspect of Firefox development. Since
most of our activities are not directly visible we’ve decided to
regularly write a newsletter to get you up to speed! Also check our
all-hands slides
<https://docs.google.com/presentation/d/1jF_WBR6bqL19XOCZ-f-Tb7eUURbRLzrsUSVewPGrozk/>
for an overview of the great stuff we did last year.

 = Automation & releng =

- Mike Hommey successfully cross-compiled Firefox for Windows on Linux
in automation <https://bugzilla.mozilla.org/show_bug.cgi?id=1620166>.
The resulting build is up to *three times faster* than the
Windows-hosted ones.

- Rail Aliiev has *updated release-engineering services to Python 3.8.1*
keeping up with our Python standards.

- Wander Lairson Costa fixed a bug in Taskcluster provisioning code that
was causing us to ignore already-requested workers thus *reducing
overprovisioning by 95%*.

- Aki Sasaki landed 3-phase macOS notarization which will enable us to
be more resilient *even when Apple’s services go down*.

- Mihai Tabara has started producing *flatpak packages* for Firefox on
Linux.

- Armen Zambrano has implemented test path filtering in Treeherder which
will allow developers to find which job in their treeherder view ran the
test they are looking for.

- Mellina Yonashiro finished her Outreachy project to improve A11y
support for Treeherder covering the intermittent failure view and
perfherder
<https://medium.com/@yogmel/my-journey-into-outreachy-2a085b8a9e29>.

- Geoff Brown has improved tooling and documentation to retrigger jobs
from treeherder and get extra debug info
<https://bugzilla.mozilla.org/show_bug.cgi?id=1612345>.

- Edwin Takahashi has finished migrating tests to Ubuntu 18.04
<https://bugzilla.mozilla.org/show_bug.cgi?id=1572242>.

- Bob Clary has been *adjusting scheduling of many tests to reduce costs*.

- Sarah Clements has integrated Changelog into treeherder
<https://treeherder.mozilla.org/api/changelog/> to help sheriffs find
infrastructure changes.

- Cameron Dawson has improved push health, *easier access to parent
revision data*.

- Marco Castelluccio + Andrew Halberstant have finished the “mach try
auto” prototype, *using ML to automatically choose the appropriate
tests* for the change you’re working on.

- Dave Lawrence added the ability to self-service your own bugzilla
account if you get blocked due to email bouncing issues. Now instead of
not being able to login completely, your email notifications will be
temporarily disabled but you will still be able to login
<https://bugzilla.mozilla.org/show_bug.cgi?id=1612290>.

- Connor Sheehan completed migrating all code required to run version
control tools (hg.mozilla.org) to Python 3
<https://bugzilla.mozilla.org/show_bug.cgi?id=1541166>.

- Dustin Mitchell developed a performance testing framework for
Taskcluster <https://github.com/taskcluster/performance-tester>. This
will help validate new deployments and will also be very useful for
ensuring equal or better performance when moving our backend from Azure
to postgres <https://bugzilla.mozilla.org/show_bug.cgi?id=1436478>.

 = Code analysis =

- Kris Wright wrote a linter to prevent new random threads from being
created in Gecko. This will help us trim down the number of threads we
use and better document existing ones
<https://bugzilla.mozilla.org/buglist.cgi?quicksearch=1613440>.

- Christian Holler landed ThreadSanitizer tests for multiple
test-suites. This will help finding data races in our codebase and
preventing new ones from entering it
<https://bugzilla.mozilla.org/show_bug.cgi?id=1612711>.

- Sylvestre Ledru added rust Clippy to mozlint.This will help catching
problems in new Rust code
<https://bugzilla.mozilla.org/show_bug.cgi?id=1361341>. He also enabled
rustfmt on the whole base to enforce a consistent coding style
<https://bugzilla.mozilla.org/show_bug.cgi?id=1617369>.

 = Security and code robustness =

- Nathan Froyd introduced wasm sandboxing to isolate the code of the
graphite font shaping library. The sandbox can be applied to other
libraries in the future greatly reducing the impact of bugs in their
code <https://hacks.mozilla.org/2020/02/securing-firefox-with-webassembly/>.

- Andrei Homescu from Immunant <https://immunant.com/> is working on an
oxidized version of libexpat
<https://bugzilla.mozilla.org/show_bug.cgi?id=1611289> mechanically
translated to Rust using the C2Rust tool <https://c2rust.com/>. The
resulting code should be more robust and safer than the existing C
implementation.

- The sanitizer doc has been moved in-tree and we have a new sanitizers
dashboard <https://sql.telemetry.mozilla.org/dashboard/sanitizers>.

- We have new fuzzing dashboards
<https://sql.telemetry.mozilla.org/dashboard/fuzzing> as well as a list
of fuzzing tools
<https://mana.mozilla.org/wiki/pages/viewpage.action?spaceKey=FIREFOX&title=Fuzzing+tools>.

 = Stability =

- Calixte Denizet rewrote the Windows dump_syms tool in Rust we use to
extract symbols from Firefox debuginfo. The new tool is dramatically
faster than the old one and produces better symbol information
<https://github.com/mozilla/dump_syms/>.

- Nicholas Nethercote rewrote the stack-fixing scripts we used to make
stack traces readable on automation in Rust. The resulting scripts are
two order of magnitudes faster leading to test runtimes being shortened
by up to 40 minutes <https://github.com/mozilla/fix-stacks/>.

- Gabriele Svelto wrote scripts to scrape symbols for the most popular
Linux distros, this gives us better Linux crash reports and visibility
into crashes from distro-packaged builds of Firefox
<https://github.com/gabrielesvelto/symbol-scrapers/>.

 = Release management =

- Following Julien Cristau’s suggestion, Calixte Denizet added a new
autonag rule to find missing potential beta uplifts in Bugzilla
<https://github.com/mozilla/relman-auto-nag/pull/912>.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to