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

Reply via email to