For a richer version of this newsletter, please see < https://docs.google.com/document/d/1uJECrrYitWbuyLJl_W_QHaBJtYcabJsAv2aQdFSmr3E/ >.
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. 1. https://wiki.mozilla.org/Engineering_Workflow 2. https://github.com/mozilla-conduit/review 3. https://docs.google.com/document/d/14v33dMrAvs9KlhYVdbN7yYqJpubs8XFpnrDlsZTPBW0/ 4. https://github.com/mystor/phlay 5. https://www.mercurial-scm.org/repo/hg/file/tip/hgext/phabricator.py 6. https://bugzilla.mozilla.org/show_bug.cgi?id=1504965 7. https://github.com/mozilla-conduit/review/releases/tag/1.8 8. https://lando.services.mozilla.com 9. https://moz-conduit.readthedocs.io/en/latest/lando-user.html#viewing-a-confidential-revision 10. https://bugzilla.mozilla.org/show_bug.cgi?id=1354589 11. https://wiki.mozilla.org/Security/Bug_Approval_Process 12. https://bugzilla.mozilla.org/show_bug.cgi?id=1237610 13. https://groups.google.com/forum/%23!topic/mozilla.dev.platform/yfnVeUSIYR0 14. https://firefox-source-docs.mozilla.org/build/buildsystem/telemetry.html 15. https://sql.telemetry.mozilla.org/dashboard/sheehan-build-telemetry-dash _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform