For a richer version of this newsletter, please see <

Hello from the Engineering Workflow team! This is our first newsletter.
Exciting! But first, who are we and what do we do? The Engineering Workflow
team[1] exists to improve the quality, clarity, and efficiency of Firefox
development through the integration and development of tools and
automation. This includes such things as reporting and querying bugs,
reviewing and committing code, and optimizing our repositories and build
processes. We’re publishing a newsletter so the rest of engineering can get
some insights into what we’re working on and why. Drawing inspiration from
tl;dr, we will present a few short stories highlighting some of our work
each month(ish).


Speeding up moz-phab

moz-phab[2] is Engineering Workflow’s officially supported custom
command-line interface to Phabricator, built in order to better support the
“stacked commits” workflow that is common in Firefox engineering.
Unfortunately some of the design decisions we made early on, such as
wrapping Arcanist in order to reduce long-term maintenance burden, have
made moz-phab painfully slow in some circumstances. We’ve spent some time
doing performance analysis and have put together a plan for
improvements[3], taking some inspiration from phlay[4] (which is Git only)
and phabsend[5] (which is Mercurial only). Phase 0 was completed last
week[6] and released yesterday[7]!


Lando.... confidentially

Lando[8], can now land confidential revisions[9]. You’ll be able to see a
confidential revision in Lando to which you have access in Phabricator by
providing a Phabricator API key. This user experience isn’t quite as smooth
as we would have preferred, since Phabricator is tied to Bugzilla’s login
(so we can use Bugzilla’s security controls), but Lando is currently tied
to Auth0 (so we can query SCM permissions).

A better future is in sight, however, as Bugzilla is just about to get
OAuth2 support[10], which we’ll be able to use to connect Bugzilla and
Auth0 accounts. We’ll also be implementing some special features around
confidential revisions to help developers follow the proper process[11].


Digging into builds

We've done a lot of work over the years to try to improve Firefox local
builds, but we have always relied on anecdotes from individual developers
to know when a problem exists and when things have improved. Recently we've
finished landing some work[12] to enable the build system to submit
telemetry[13], and we're excited to start getting data that we can use to
prioritize future work and validate our results! The schema of data we're
collecting is available in the build system documentation[14]. We have some
preliminary dashboards[15] of the data we have collected.


Do you have comments on this newsletter? Do you want to know more about us
and the projects we’re working on? You can find us in #engworkflow on IRC
and in project-specific channels including #build, #vcs, #phabricator,
#lando, and #bmo.

dev-platform mailing list

Reply via email to