[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 have decided to
regularly write a newsletter to get you up to speed!

This is the second iteration of the newsletter for the period of April,
May and June.


 = Highlights =

- Andrew Halberstadt and Marco Castelluccio improved the `mach try auto`
automatic test selector to run fewer tests and catch more failures
<https://groups.google.com/forum/#!topic/mozilla.dev.platform/Eeg7vIvc3kM>,
by scheduling (for a subset of suites) at the manifest level. Please use
it and report any feedback!

- Mike Hommey, Connor Sheehan and others stood up the KaiOS project
branch <https://bugzilla.mozilla.org/show_bug.cgi?id=1628832>, a big
milestone for the first phase of the project.

- Christian Holler wrote a tutorial for libfuzzer-based fuzzing
<https://firefox-source-docs.mozilla.org/tools/fuzzing/fuzzing_interface.html>.
Feel free to contact him should you need help in adding fuzzing to your
module.

- Emma Humphries transitioned Bugzilla severities to a new system, using
S1...S5
<https://docs.google.com/document/d/1HYPBDePvYX26JOrk6ymsEeViwTdWhCVL-elSwInsMKw/edit>.



 = Cost savings and performance improvements =

- Marco Castelluccio and Andrew Halberstadt enabled the first iteration
of machine learning-based scheduling on autoland, which means 20-30%
fewer jobs to execute with similar coverage of regressions.

- David Major started generating the Clang binary for CI using PGO,
which leads to a decrease in build time by 5 to 9%
<https://bugzilla.mozilla.org/show_bug.cgi?id=1326486#c17>.

- Nicholas Nethercote improved Rust compiler's performance even more (up
to 18%)
<https://blog.mozilla.org/nnethercote/2020/04/24/how-to-speed-up-the-rust-compiler-in-2020/>.

- Simon Fraser built a dashboard
<https://datastudio.google.com/reporting/1GVefOEovUP_oxJKiRlsAeoJuxcoDjlK3/page/WOR0>
to visualize CI costs by person / manager / team.

- The Taskcluster team migrated the community and Firefox CI clusters
back-end from Azure to Postgres. It is faster and more reliable, and
reduces the number of cloud providers involved in Taskcluster setup.

- Joel Maher identified orphaned workers as a significant overhead, and
is working to reduce them.

- Chris AtLee optimized test packages
<https://bugzilla.mozilla.org/show_bug.cgi?id=1632601> to reduce test
overhead on Windows 7 by 4-5 minutes.

- Nicholas Nethercote landed and enabled fix-stacks on all platforms,
which leads to a 100x perf improvement in some log processing
<https://blog.mozilla.org/nnethercote/2020/04/15/better-stack-fixing-for-firefox/>.

- Jesse Schwartzentruber made significant progress in migrating the
fuzzing infrastructure to Taskcluster.



 = Phabricator and code quality =

- Bastien Abadie changed the code review bot to use Phabricator lint
results
<https://lists.mozilla.org/pipermail/dev-platform/2020-March/025348.html>
(example on https://phabricator-dev.allizom.org/D1758), making the
issues found by the bot less spammy (issues cleared after diff update)
and making it clear when issues would break CI.

- David Lawrence reworked our Phabricator extensions to unblock a major
Phabricator upgrade, which brings two new interesting features: inline
comments on character ranges
<https://secure.phabricator.com/phame/post/view/776/quick_look_inline_comments_on_character_ranges/>,
and edit suggestions
<https://secure.phabricator.com/phame/post/view/777/quick_look_suggesting_edits_with_inline_comments/>.
As always Chris Kolosiwsky from the Cloud Operations team was
instrumental in getting this deployed.

- Andi Bogdan Postelnicu made build failure reporting at review phase
use clang-tidy instead of coverity, which results in better error
messages and detects more issues.

- Linting improvements for Python: pylint was added as a new linter
<https://bugzilla.mozilla.org/show_bug.cgi?id=1623024> (issues tracked
in https://bugzilla.mozilla.org/show_bug.cgi?id=1647263) and flake8 was
updated to 3.8.3 <https://phabricator.services.mozilla.com/D80078>.

- Bastien Abadie and Sylvestre Ledru wrote a blog post on Hacks
<https://hacks.mozilla.org/2020/04/code-quality-tools-at-mozilla/> about
Mozilla's tools for code quality.

- Sylvestre Ledru wrote a new linter to reject the introduction of new
occurrences of some non-inclusive wording
<https://bugzilla.mozilla.org/show_bug.cgi?id=1642825>.



 = Security and stability =

- The first security bug
<https://bugzilla.mozilla.org/show_bug.cgi?id=1618158> found by PHC
(Probabilistic Heap Checker), built by Nicholas Nethercote, was fixed.

- Our fuzzing found a security bug in irregexp
<https://bugzilla.mozilla.org/show_bug.cgi?id=1638154> which also seems
to affect Chrome stable (fixed in Firefox 78).

- Jason Kratzer improved bugmon to automatically confirm test cases,
bisect issues down to a single commit
<https://bugzilla.mozilla.org/show_bug.cgi?id=1647309#c2>, and verify
fixes <https://bugzilla.mozilla.org/show_bug.cgi?id=1647309#c9>.
Documentation will come soon.

- Jason Kratzer published a blog post on Hacks
<https://hacks.mozilla.org/2020/04/fuzzing-with-webidl/> detailing the
new Domino fuzzer and how it leverages WebIDL definitions as a grammar.

- Calixte Denizet rewrote dump_syms support for ELF in Rust
<https://github.com/mozilla/dump_syms>, greatly improving its
performance along the way (Previously: 3m 29s. Now: 29s).

- Aki Sasaki made it so XPI signing and ad-hoc signing requests are
using defined, auditable pipelines and helped Mozilla Online (China)
addons use the official XPI pipeline.



 = Bug management =

- Sylvestre Ledru moved the docs about Bug Handling in-tree
<https://firefox-source-docs.mozilla.org/bug-mgmt/>.

- Emma Humphries launched a campaign to identify and prioritize bugs
affecting people working from home, introducing the [wfh] whiteboard
tag. Please use it if you run into such bugs!

- David Lawrence and glob closed 500,000 (half a million!) accounts in
Bugzilla that had not been logged into in more than four years. Close to
120,000 are still enabled out of 660,000, so 17% are left.

- David Lawrence moved large attachments out of the Bugzilla database
(shrinking it by at least 110 GB) and into S3, improving performance and
reducing storage costs.



 = Misc =

- The Flatpack packages Mihai Tabara started producing have begun to
pick up users
<https://sql.telemetry.mozilla.org/dashboard/flatpaks-and-snaps>.

- Mike Hoye organized a trial Developer Roadshow. If you are interested
in his notes, they are over here:
https://docs.google.com/document/d/1PCFyU37jhaOmjEQQwaOApPQhAcZqv4hVlAoZisHYBaY/edit.

- Ricky Stewart and Mike Hommey migrated most of build/configure to
Python 3.

- Mitchell Hentges enabled Sentry for mach errors. We are starting to
see interesting results:
https://sentry.prod.mozaws.net/share/issue/14699ba2277e4e309978f91836a27015/.

- Johan Lorenzo enabled automated screenshot capture for Firefox for iOS
to help localizers.

- Simon Fraser made it possible to do automated merges, which recently
happened from beta -> release and from central -> beta.

- Shivam Singhal, a volunteer, added buttons for easier copy/paste to
code snippets in our documentation (example on
https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html).

- Sonia Singla, a volunteer, made it so that “$” characters are
automagically stripped in shell scripts in the docs.

- Emil Farisan Singgih, a GSoC student, moved the documentation tasks
into a new, separate, Treeherder category.



Thanks!
- Marco.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to