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

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to