Changes between Version 29 and Version 30 of CommitQueue
- Timestamp:
- Feb 23, 2021, 3:59:35 PM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CommitQueue
v29 v30 1 WebKit's commit-queue is a [wiki:"WebKitPatch" webkit-patch] command which is run on the commit server (maintained by Eric Seidel) and provides a way for contributors without commit privileges to get their changes into WebKit.1 WebKit's commit-queue is part of EWS [wiki:"EarlyWarningSystem"] and provides a way for contributors without commit privileges to get their changes into WebKit, as well as for everyone to have their patches tested and landed. 2 2 3 3 == Commit Queue Process == 4 4 1. Contributer set "commit-queue=?" on their patch. 5 5 1. Committer sets "commit-queue=+" in response. 6 1. commit-queue polls bugzilla for the list of cq+'d patches, finding one it runs `webkit-patch land-from-bug` on the bug in question.6 1. commit-queue polls bugzilla for the list of cq+'d patches, verifies that it can build with the patch, run macOS webkit2 layout tests on it. If the build and tests passes, it commits the patch to the repository. 7 7 8 8 … … 12 12 13 13 * commit-queue=+ // Patch is 100% ready for commit, the commit bot should land it. 14 * commit-queue=- // Patch needs manual landing (set this when you don't want any chance of auto-commit).14 * commit-queue=- // Patch is not ready for committing or needs manual landing (set this when you don't want any chance of auto-commit). 15 15 * commit-queue=? // Set by non-committers to ask someone to approve their patch for auto-commit. 16 16 … … 19 19 20 20 Only a committer or reviewer that has an entry in the following file can set the commit-queue flag on a bug: 21 http ://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json21 https://github.com/WebKit/WebKit/blob/main/Tools/Scripts/webkitpy/common/config/contributors.json 22 22 23 23 24 24 === Q: How long until a patch lands after I set commit-queue+? === 25 25 26 10-15 minutes. Depends on if the [http://build.webkit.org/waterfall tree is red or not]. The commit-queue will not commit when buildbots for the [http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/buildbot.py#L50 core platforms] are red.26 2-30 minutes. Depends on whether the patch has already passed mac-wk2 queue and depending on incremental build speed. The commit-queue will not commit when the macOS build is broken. 27 27 28 28 29 29 === Q: My patch was rejected by the commit queue, what should I do!? === 30 30 31 First, read the comment the commit queue added to the bug. If the message is not clear, feel free to email the WebKit Commit Bot address in the bug. There are [https://bugs.webkit.org/show_bug.cgi?id=28686 outstanding bugs] about making the commit bot's messages more clear.31 First, read the comment the commit queue added to the bug. If the message is not clear, feel free to email admin@webkit.org. 32 32 33 33 Sometimes the commit-queue rejects patches due to flakey tests. Don't worry, whoever is running the commit queue should add your patch back to the queue if it was wrongly rejected. 34 35 Outstanding bugs:36 37 `commit-queue` bugs: https://bugs.webkit.org/buglist.cgi?quicksearch=commit-queue38 39 `webkit-patch` bugs: https://bugs.webkit.org/buglist.cgi?quicksearch=webkit-patch40 34 41 35 42 36 === Q: How can I see what's in the commit-queue? === 43 37 44 [https:// webkit-queues.webkit.org/queue-status/commit-queue commit queue status] or the [https://bugs.webkit.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=WebKit&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=attachments.ispatch&type0-0-0=equals&value0-0-0=1&field0-1-0=flagtypes.name&type0-1-0=equals&value0-1-0=commit-queue%2B list of commit-queue+ bugs]38 [https://ews-build.webkit.org/#/builders/Commit-Queue commit queue status] or the [https://bugs.webkit.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&field0-0-0=flagtypes.name&list_id=6906485&order=Last%20Changed&query_format=advanced&type0-0-0=equals&value0-0-0=commit-queue%2B list of commit-queue+ bugs] 45 39 46 `webkit-patch bugs-to-commit` is how the commit-queue checks. That willprint out any pending bugs.40 `webkit-patch bugs-to-commit` will also print out any pending bugs. 47 41 48 42 49 43 === Q: What checks does commit-queue do before landing? === 50 44 51 Everything `webkit-patch land-from-bug` does. Which is`build-webkit` (on Mac) and then `run-webkit-tests`.45 `build-webkit` (on Mac) and then `run-webkit-tests`. 52 46 53 47 === Q: When I review a patch, should I set commit-queue+? === … … 83 77 === Q: Can I run the commit-queue myself? === 84 78 85 Yes. Any committer could run the commit queue. `webkit-patch commit-queue` The commit queue is not designed to have more than one copy run at a time though.79 No. 86 80 87 81