[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