⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.
wiki:CommitQueue

Version 17 (modified by eric@webkit.org, 17 years ago) ( diff )

--

WebKit's commit-queue is a 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.

Commit Queue Process

  1. Contributer set "commit-queue=?" on their patch.
  2. Committer sets "commit-queue=+" in response.
  3. 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.

Commit Queue FAQ

Q: What do the commit-queue states mean?

  • commit-queue=+ Patch is 100% ready for commit, the commit bot should land it.
  • commit-queue=- Patch needs manual landing (set this when you don't want any chance of auto-commit).
  • commit-queue=? Set by non-committers to ask someone to approve their patch for auto-commit.

Q: Who can set commit-queue+ or review+?

webkit-patch validates that the flag setters are committers/reviewers using: ​http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/modules/committers.py

Q: How long until a patch lands after I set commit-queue+?

10-15 minutes. Depends on if the ​tree is red or not. The commit-queue will not commit when buildbots for the ​core platforms are red.

Q: My patch was rejected by the commit queue, what should I do!?

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 ​outstanding bugs about making the commit bot's messages more clear.

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.

Outstanding bugs:

commit-queue bugs: ​https://bugs.webkit.org/buglist.cgi?quicksearch=commit-queue

webkit-patch bugs: ​https://bugs.webkit.org/buglist.cgi?quicksearch=webkit-patch

Q: How can I see what's in the commit-queue?

​commit queue status

webkit-patch bugs-to-commit is how the commit-queue checks. That will print out any pending bugs.

Q: What checks does commit-queue do before landing?

Everything webkit-patch land-from-bug does. Which is build-webkit (on Mac) and then run-webkit-tests. The commit-queue also checks ​http://build.webkit.org/ to make sure that all of the Leopard and Windows builders are green. If you would like it to do more, please file bugs and post patches to bugzilla-tool! :)

Q: When I review a patch, should I set commit-queue+?

If you would like the commit bot to land the patch, yes.

Q: Help! The commit queue broke the tree! Who do I blame?

Setting commit-queue+ on a patch is the moral equivalent of typing "svn commit" on the command line. That means whoever set the flag to + is responsible for watching the tree and cleaning up if disaster strikes.

Q: When I don't want my patch to be auto-landed, what should I do?

You don't need to do anything. Only commit-queue+ patches are auto-landed. Setting commit-queue- will make extra-sure.

Q: If I want my patch landed, and I'm not a committer, what do I do?

Set "commit-queue=?". A committer can set it to commit-queue+

Q: What does cq+ mean?

Some of us have been shortening commit-queue to "cq" when typing, so cq+ is "commit-queue=+". Similar to how r+ is "review=+".

Q: Can I run the commit-queue myself?

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.

Q: Does the commit-queue fix the "Reviewed by NOBODY" in any ChangeLogs in the patch?

Yes webkit-patch calls svn-apply which does. It sets the reviewer based on who marked the patch as r+. It also updates the date for the changelog entry.

Note: See TracWiki for help on using the wiki.