Hi all, After listening to feedback and discussing requirements with some of engineering leadership, the Engineering Workflow team has decided to write a new command-line application to better support submitting and updating commit series with Phabricator. We’ve been in touch with Phacility, and it’s clear they have a different philosophy on this—so we need a custom solution to ensure code review is as smooth as possible.
There are two problems we aim to solve: 1. Submitting and updating commit series We are writing a Python script that will be able to submit and update a series of commits. It will be a wrapper around Arcanist, which users will still need to install locally (for now; see below). Having our script use Arcanist makes the work a lot easier, as we won't have to write extensions for Phabricator to provide the APIs we would need, nor essentially rewrite Arcanist. Further, Arcanist is guaranteed to stay stable, while any extensions we write can be broken by upstream at any time (this would be especially risky with how deep we'd have to go to expose the relevant APIs). Follow along in https://bugzilla.mozilla.org/show_bug.cgi?id=1471678. 2. Landing commit series It is currently somewhat painful to land a series from Lando. We’ve made various improvements, but there is still some delay in the landing of individual revisions, and a lot of clicking is required to land a whole series. Thus we're going to prioritize a better user experience that allows the landing of a whole series in a similar manner to landing one revision today. We've thought about this in the past and have some UI ideas (see the second screenshot in https://mrcote.info/blog/2017/11/17/phabricator-and-lando-november-update/). See https://bugzilla.mozilla.org/show_bug.cgi?id=1457525. We’re aiming for late July for these implementations, which will allow us to close down MozReview soon after, in time for the data center closure. Once this initial work is complete, we plan to implement a better solution that does not require Arcanist to be installed locally. Instead, we'll build a remote service that talks to Phabricator, and the command-line app will send the relevant data to this service. This frees users from the annoyance of installing and updating Arcanist, which is more difficult on some systems (e.g. Windows) than others. It also means we won’t need the git-cinnabar fork of Arcanist, as the client or server can do the commit-hash translations. The relevant bug is https://bugzilla.mozilla.org/show_bug.cgi?id=1471687. This will take a bit more time and will not block the decommissioning of MozReview. If you have any feedback or concerns, please get in touch with us directly. Thanks for bearing with us as we evolve and upgrade our engineering tools! Mark _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform