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. _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo