webkit-patch rebaseline-cl: Remove dependency on Rietveld; support Gerrit |
|||||||
Issue descriptionThis tool currently depends on Rietveld for several things: 1. Listing the latest try jobs for a given CL. 2. Listing the changed files in a given CL. Both of the above are done using: https://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/Tools/Scripts/webkitpy/common/net/rietveld.py When Chromium switches to Gerrit code review, that module should be removed.
,
Feb 15 2017
,
Feb 15 2017
,
Feb 16 2017
What would it take to rewrite this Tools/Scripts/webkitpy/common/net/rietveld.py for gerrit? How is it becoming easier when requiring the branch being local only? For the upcoming FreeType rebaseline, using rietveld seems slow and difficult. Gerrit might work much better.
,
Feb 16 2017
Great question, I didn't fully investigate. In general, the two pieces of information that I think we want to fetch when preparing to rebaseline are (as noted in the original post): the try job status, and the list of changed files. The public documentation (https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html) doesn't mention try job status, but that information is probably accessible via the API. The reason why this becomes easier when requiring the branch to be local only is that `git cl try-results` can then be used to get try results, and the rebaseline tool wouldn't have to talk directly to either Rietveld or Gerrit. I'll start working on this and continue to update this bug until it's resolved.
,
Feb 17 2017
Thanks, sounds great.
,
Feb 17 2017
Gerrit does not provide an API for try job results. The display of try job results in Gerrit is via a plugin, which itself relies on the Buildbucket API to get the necessary data. (This is the same API that the CQ itself uses.) Here's the code in the plugin which constructs the buildbucket query and reads the result: https://chromium.googlesource.com/infra/gerrit-plugins/buildbucket/+/master/src/main/resources/static/cr-buildbucket-view.js#143
,
Feb 17 2017
Thanks agable@, that makes sense. So, besides using on `git cl try-results`, the other way to get try job results would involve making requests to the buildbucket API. I suspect that using git cl try-results is probably going to be easier; the only downside is that it means that rebaseline-cl would just work with local branches. Now uploaded CL to use git cl try-results to get results: https://codereview.chromium.org/2692423005
,
Feb 18 2017
,
Feb 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e0b4961639a9d8781023e68392847f6fe37f19d9 commit e0b4961639a9d8781023e68392847f6fe37f19d9 Author: qyearsley <qyearsley@chromium.org> Date: Sun Feb 19 23:46:59 2017 rebaseline-cl: Get latest try jobs using git-cl when no --issue given. This CL moves filter_latest_builds() into webkitpy.common.net.buildbot, and adds a method latest_try_jobs to the GitCL class, which behaves like the latest_try_jobs method currently on the Rietveld class. The purpose of this change is to make it easier to drop dependency on Rietveld. BUG= 671684 Review-Url: https://codereview.chromium.org/2692423005 Cr-Commit-Position: refs/heads/master@{#451531} [modify] https://crrev.com/e0b4961639a9d8781023e68392847f6fe37f19d9/third_party/WebKit/Tools/Scripts/webkitpy/common/net/buildbot.py [modify] https://crrev.com/e0b4961639a9d8781023e68392847f6fe37f19d9/third_party/WebKit/Tools/Scripts/webkitpy/common/net/buildbot_unittest.py [modify] https://crrev.com/e0b4961639a9d8781023e68392847f6fe37f19d9/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py [modify] https://crrev.com/e0b4961639a9d8781023e68392847f6fe37f19d9/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py [modify] https://crrev.com/e0b4961639a9d8781023e68392847f6fe37f19d9/third_party/WebKit/Tools/Scripts/webkitpy/common/net/rietveld.py [modify] https://crrev.com/e0b4961639a9d8781023e68392847f6fe37f19d9/third_party/WebKit/Tools/Scripts/webkitpy/common/net/rietveld_unittest.py [modify] https://crrev.com/e0b4961639a9d8781023e68392847f6fe37f19d9/third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline_cl.py [modify] https://crrev.com/e0b4961639a9d8781023e68392847f6fe37f19d9/third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline_cl_unittest.py
,
Feb 21 2017
Update: next proposed change: https://codereview.chromium.org/2700283002 Meanwhile, in theory, using Gerrit should work now as long as you don't use the --issue or --only-changed-tests flags.
,
Feb 22 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2f99ba4adc9c23b0e611985304dd3a9c52235ed9 commit 2f99ba4adc9c23b0e611985304dd3a9c52235ed9 Author: qyearsley <qyearsley@chromium.org> Date: Wed Feb 22 18:31:36 2017 rebaseline-cl: Only support local branches, drop Rietveld support. This continues on from http://crrev.com/2692423005, and also changes rebaseline-cl so that: - Git.changed_files is used instead of Rietveld.changed_files - The --issue flag is removed BUG= 671684 Review-Url: https://codereview.chromium.org/2700283002 Cr-Commit-Position: refs/heads/master@{#452142} [modify] https://crrev.com/2f99ba4adc9c23b0e611985304dd3a9c52235ed9/third_party/WebKit/Tools/Scripts/webkitpy/common/checkout/git.py [modify] https://crrev.com/2f99ba4adc9c23b0e611985304dd3a9c52235ed9/third_party/WebKit/Tools/Scripts/webkitpy/common/checkout/git_mock.py [modify] https://crrev.com/2f99ba4adc9c23b0e611985304dd3a9c52235ed9/third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline_cl.py [modify] https://crrev.com/2f99ba4adc9c23b0e611985304dd3a9c52235ed9/third_party/WebKit/Tools/Scripts/webkitpy/tool/commands/rebaseline_cl_unittest.py
,
Feb 22 2017
I believe that rebaseline-cl should now not depend on Rietveld; https://chromium-review.googlesource.com/c/444189/ is the first real test-case. More work needs to be done for w3c-test-autoroller to stop depending on Rietveld though ( bug 693792 ). |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by qyears...@chromium.org
, Dec 7 2016Status: Available (was: Unconfirmed)