Thank for everyone's efforts here. There never seems to be a perfect solution in technology, but I am happy we've found a solution that satisfies most of the constraints and were able to deploy it in time.
For anyone that didn't already see it, glob wrote about the design here: https://blog.glob.com.au/2017/05/08/servo-vcs-sync/ jack. On Mon, Jun 19, 2017 at 1:48 PM, Lars Bergstrom <larsb...@mozilla.com> wrote: > tldr: If you see some PRs from the moz-servo-sync GitHub user with a > priority of "treeclosed," it's because those must be landed into Servo ASAP > to support Firefox backouts. > > Due to some amazing work from gps, we already have support for taking code > changes that occur in Servo on Github and automatically pushing them to the > Firefox Mercurial servers. Now that stylo will soon be building by default, > we will need to go the other way, too - pushing changes made in Firefox back > to Servo. > > The key first scenario here is supporting "backouts" from Firefox. Backouts > are basically undo commits that revert a change that the test-after-checkin > system has determined to be faulty. This manual process, performed by > administrators known as sheriffs, needs to be instant and atomic across the > repos. The solution that we've implemented is: > 1) The backout / undo commit is landed in Firefox. > 2) A PR is created on the Servo side, authored by the moz-servo-sync user, > with a priority that closes the Servo tree until the PR lands. This is > important due to the fact that we sync changes from Servo instantly and > automatically to Firefox, and do not want to have two versions of history > [1]. > 3) The PR is tested by homu and ultimately landed. If the undo commit from > the sheriffs does not actually compile or otherwise pass Servo tests, we > should push *additional commits* on top of the undo commit that fix up the > PR until it lands. The original commit authored by moz-servo-sync should not > be altered. > > This process should only be hit in the event that there is a backout on the > Firefox side of things that also touches Servo code. Hopefully, such > backouts are extremely rare events, and should be even more rare once we > support a basic in-Firefox build & test for the geckolib code by homu. > > We are planning to test this support via some dummy backouts (e.g., edits to > Readme.md) later this week, at a time when the queue is quiet. > > Thanks for your patience as we roll this out and sort out any initial kinks > in the system! > - Lars > > [1] There is a race condition here, where homu lands a commit to Servo > master but the vcs-sync has not propagated it to Firefox as the sheriff > performs the backout. We believe this window is only a few seconds and hope > not to hit it, but have some plans in place for how to manually fix up this > situation if it occurs, which will be separately documented. > > -- > You received this message because you are subscribed to the Google Groups > "stylo-team" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to stylo-team+unsubscr...@mozilla.com. > To post to this group, send email to stylo-t...@mozilla.com. > To view this discussion on the web visit > https://groups.google.com/a/mozilla.com/d/msgid/stylo-team/CABO6m45F1ud_vFbR59WzG1Gf48-CFYRiHQvT1ij1MGQwPzMLJQ%40mail.gmail.com. _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo