[webkit-dev] Proposal: Mandatory Commit and Merge Queue

Jonathan Bedard jbedard at apple.com
Thu Jun 2 14:35:26 PDT 2022


As we move to GitHub, I would like to propose we strengthen our protections on `main` by making MergeQueue and CommitQueue mandatory. This would mean that with a few exceptions, all changes would need to be built and run layout tests before they are landed. To spell out what the exceptions I had in mind are:

- Revert commits, identified by a commit message that starts with “Unreviewed, revering…” would be exempt
- Changes which only modify files that do not effect building or testing WebKit would be exempt. These files specifically are:
         .github/
         JSTests/
         ManualTests/
         metadata/
         PerformanceTests/
         Tools/
	         CISuport/
	         EWSTools/
	         WebKitBot
        Websites/
- Emergency build and infrastructure fixes, identified by a commit message that starts with “Emergency build fix” or “Emergency infrastructure fix” would be exempt
- A reviewer who is not the commit author can overwrite this protection by adding `unsafe-merge-queue` instead of the commit author
- Changes which passed an EWS layout test queue within the last 7 days would skip the layout test check

These exceptions are designed to provide contributors for a way to by-pass potentially slow checks if extraordinary situations, or in ones where CI has already validated the change. I think we should keep the ability for any committer to deploy an emergency fix, because our project has many contributors in different timezones and with different holiday schedules.

We know that this policy change would potentially slow down development, so I think these 3 improvements block making MergeQueue and CommitQueue mandatory:

- run-webkit-tests consulting results.webkit.org <http://results.webkit.org/> to avoid retrying known flakey or failing tests
- Another MergeQueue bot
- Xcode workspace builds to speed up incremental builds

Jonathan Bedard
WebKit Continuous Integration

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20220602/3ce173d7/attachment.htm>


More information about the webkit-dev mailing list