Migrate web-platform-tests auto-import from Rietveld to Gerrit. |
|||||||||||
Issue descriptionThere will be several advantages once we do this: - Gerrit will likely not have an issue with encodings ( bug 656171 ) - Gerrit will likely be able to handle more/bigger files. Things to do before this can be done: - Change rebaseline-cl to not depend on Rietveld ( bug 671684 ) - Change wpt_expectations_updater.py to get latest try jobs from git cl try-results - Change test_importer to pass --gerrit instead of --rietveld And, importantly: - Make sure authentication works for blink-w3c-test-autoroller@chromium.org to upload CLs to Gerrit. vadimsh@ or tandrii@, do you know if passing credentials with --auth-refresh-token-json should work the same way for Gerrit as it does for Rietveld?
,
Feb 20 2017
Vadim is correct. What you should do is ensure that Puppet deploys proper credentials to your builder's netrc file. That means doing something similar to https://chrome-internal-review.googlesource.com/c/313261/
,
Feb 20 2017
And, FTR, --auth-refresh-token-json is totally ignored in Gerrit mode of `git cl`.
,
Feb 21 2017
Thanks Andrii! I'd like to try to do something like that this week :-)
,
Feb 22 2017
Also, beware of making correct puppet config. I've just fixed one for recipe-roller (in fact, you can totally copy it's setup for your bot account): https://chrome-internal-review.googlesource.com/#/c/330984/
,
Feb 23 2017
,
Feb 23 2017
,
Feb 23 2017
,
Feb 23 2017
Next step: get the right netrc token for the bot account blink-w3c-test-autoroller@chromium.org (https://chrome-internal-review.googlesource.com/c/330552/). The bug where we discussed adding this account originally was bug 632435, and friedman@ set up refresh token credentials for Rietveld in https://chromereviews.googleplex.com/482827013.
,
Feb 23 2017
,
Feb 23 2017
The following revision refers to this bug: https://chrome-internal.googlesource.com/infra/puppet/+/ea54e14fa1aa281051f8ba0003fbea5be6f0a000 commit ea54e14fa1aa281051f8ba0003fbea5be6f0a000 Author: Quinten Yearsley <qyearsley@google.com> Date: Thu Feb 23 22:52:33 2017
,
Feb 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/271d08b32e78ccf8117c6fc9b6e146e5d5ab6ed2 commit 271d08b32e78ccf8117c6fc9b6e146e5d5ab6ed2 Author: qyearsley <qyearsley@chromium.org> Date: Fri Feb 24 16:27:44 2017 Use git cl try-results intead of Rietveld in wpt_expectations_updater.py. The purpose of this is to allow WPT import to use Gerrit. BUG= 693792 Review-Url: https://codereview.chromium.org/2715803002 Cr-Commit-Position: refs/heads/master@{#452845} [modify] https://crrev.com/271d08b32e78ccf8117c6fc9b6e146e5d5ab6ed2/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_expectations_updater.py [modify] https://crrev.com/271d08b32e78ccf8117c6fc9b6e146e5d5ab6ed2/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_expectations_updater_unittest.py
,
Feb 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4f81759ab3dbfb493d2d7d849785b3df6dc257af commit 4f81759ab3dbfb493d2d7d849785b3df6dc257af Author: qyearsley <qyearsley@chromium.org> Date: Fri Feb 24 21:27:00 2017 Remove Rietveld class and all dependencies on it. This CL depends on (includes) http://crrev.com/2715803002, a smaller change which could be submitted first. BUG= 693792 Review-Url: https://codereview.chromium.org/2718503004 Cr-Commit-Position: refs/heads/master@{#452927} [modify] https://crrev.com/4f81759ab3dbfb493d2d7d849785b3df6dc257af/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py [modify] https://crrev.com/4f81759ab3dbfb493d2d7d849785b3df6dc257af/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py [delete] https://crrev.com/6d9ba1044c884aca683404f05509f18d4b63c818/third_party/WebKit/Tools/Scripts/webkitpy/common/net/rietveld.py [delete] https://crrev.com/6d9ba1044c884aca683404f05509f18d4b63c818/third_party/WebKit/Tools/Scripts/webkitpy/common/net/rietveld_unittest.py [modify] https://crrev.com/4f81759ab3dbfb493d2d7d849785b3df6dc257af/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py [modify] https://crrev.com/4f81759ab3dbfb493d2d7d849785b3df6dc257af/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_expectations_updater_unittest.py
,
Feb 25 2017
Alright, first auto-import using the bot account, uploading to Gerrit: Got this interesting result: Uploading change list. Gathering directory owners emails to CC. Issue: Issue number: 446406 (https://chromium-review.googlesource.com/446406) Triggering try jobs. Traceback (most recent call last): ... webkitpy.common.system.executive.ScriptError: Failed to run "['git', 'cl', 'try', '-b', 'android_blink_rel']" exit_code: 1 output: You are not logged in. Please login first by running: depot-tools-auth login chromium-review.googlesource.com https://build.chromium.org/p/chromium.infra.cron/builders/w3c-test-autoroller/builds/7973/steps/update%20wpt/logs/stdio So, it looks like the bot account (blink-w3c-test-autoroller@chromium.org) is sucessfully uploading CLs, but not successfully triggering try jobs.
,
Feb 25 2017
Ugh.. Tryjobs are triggered through Builddbucket. It still needs '--auth-refresh-token-json' (because gerrit token is not usable from Buildbucket). Basically, stuff removed here is still needed for git cl try: https://codereview.chromium.org/2718503004/diff/20001/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py
,
Feb 25 2017
If you want it to be less awkward, it is possible, in theory, to make --auth-refresh-token-json work for Gerrit too (by generating a new token with both 'gerrit' and 'userinfo.email' OAuth scopes and somehow feeding it to 'git'). The other way around (using 'git' token for Buildbucket) is not going to work, because Gerrit tokens don't have 'userinfo.email' scope required when talking to GAE apps (like Buildbucket). The fastest solution is too use two tokens (i.e. just add --auth-refresh-token-json stuff back). It's what secretly happens on developer machines too (git command use ~/.gitcookies, "git cl try" uses the token setup by 'depot-tools-auth login ...').
,
Feb 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61c0a31a9889b25af7c5d05edea59a59f04fdffa commit 61c0a31a9889b25af7c5d05edea59a59f04fdffa Author: qyearsley <qyearsley@chromium.org> Date: Mon Feb 27 18:39:56 2017 Add back use of --auth-refresh-token-json for wpt-import This is required for authentication with buildbucket currently, and thus required for triggering try jobs, see http://crbug.com/693792 BUG= 693792 Review-Url: https://codereview.chromium.org/2715093002 Cr-Commit-Position: refs/heads/master@{#453271} [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
,
Feb 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61c0a31a9889b25af7c5d05edea59a59f04fdffa commit 61c0a31a9889b25af7c5d05edea59a59f04fdffa Author: qyearsley <qyearsley@chromium.org> Date: Mon Feb 27 18:39:56 2017 Add back use of --auth-refresh-token-json for wpt-import This is required for authentication with buildbucket currently, and thus required for triggering try jobs, see http://crbug.com/693792 BUG= 693792 Review-Url: https://codereview.chromium.org/2715093002 Cr-Commit-Position: refs/heads/master@{#453271} [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
,
Feb 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61c0a31a9889b25af7c5d05edea59a59f04fdffa commit 61c0a31a9889b25af7c5d05edea59a59f04fdffa Author: qyearsley <qyearsley@chromium.org> Date: Mon Feb 27 18:39:56 2017 Add back use of --auth-refresh-token-json for wpt-import This is required for authentication with buildbucket currently, and thus required for triggering try jobs, see http://crbug.com/693792 BUG= 693792 Review-Url: https://codereview.chromium.org/2715093002 Cr-Commit-Position: refs/heads/master@{#453271} [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
,
Feb 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61c0a31a9889b25af7c5d05edea59a59f04fdffa commit 61c0a31a9889b25af7c5d05edea59a59f04fdffa Author: qyearsley <qyearsley@chromium.org> Date: Mon Feb 27 18:39:56 2017 Add back use of --auth-refresh-token-json for wpt-import This is required for authentication with buildbucket currently, and thus required for triggering try jobs, see http://crbug.com/693792 BUG= 693792 Review-Url: https://codereview.chromium.org/2715093002 Cr-Commit-Position: refs/heads/master@{#453271} [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
,
Feb 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61c0a31a9889b25af7c5d05edea59a59f04fdffa commit 61c0a31a9889b25af7c5d05edea59a59f04fdffa Author: qyearsley <qyearsley@chromium.org> Date: Mon Feb 27 18:39:56 2017 Add back use of --auth-refresh-token-json for wpt-import This is required for authentication with buildbucket currently, and thus required for triggering try jobs, see http://crbug.com/693792 BUG= 693792 Review-Url: https://codereview.chromium.org/2715093002 Cr-Commit-Position: refs/heads/master@{#453271} [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
,
Feb 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/61c0a31a9889b25af7c5d05edea59a59f04fdffa commit 61c0a31a9889b25af7c5d05edea59a59f04fdffa Author: qyearsley <qyearsley@chromium.org> Date: Mon Feb 27 18:39:56 2017 Add back use of --auth-refresh-token-json for wpt-import This is required for authentication with buildbucket currently, and thus required for triggering try jobs, see http://crbug.com/693792 BUG= 693792 Review-Url: https://codereview.chromium.org/2715093002 Cr-Commit-Position: refs/heads/master@{#453271} [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py [modify] https://crrev.com/61c0a31a9889b25af7c5d05edea59a59f04fdffa/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
,
Feb 27 2017
Auto-importer is now using Gerrit by default, and successfully committed its first CL via Gerrit today: https://chromium-review.googlesource.com/c/446562/
,
Feb 27 2017
Awesome!
,
Mar 1 2017
The first CL which worked didn't involve uploading a second patchset, and it looks like there's probably one more little change that needs to be made before import works more generally. Example failed build: https://build.chromium.org/p/chromium.infra.cron/builders/w3c-test-autoroller/builds/7983 I think that when uploading a second patchset, I need to change the command from "git cl upload -m <message>" to "git cl upload -t <message>" or "git cl upload -f -m <message>". I'll verify which one works and then make another CL for this.
,
Mar 1 2017
the -m message isn't actually supposed (that's bug, btw, can you please file?) on not first upload.
,
Mar 1 2017
So, is the desired behavior that git cl shouldn't prompt for patchset title when -m is given, and that the argument to -m should be used as the patchset title? Or that -m shouldn't apply to Gerrit and -t should be used instead for patchset titles?
,
Mar 1 2017
Former. That is that -m is taken into account by git cl for Gerrit on not-first uploads, and hence inferring -t automatically.
,
Mar 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6e035cf67feec1c6547bf3a919bc3882636ac1af commit 6e035cf67feec1c6547bf3a919bc3882636ac1af Author: qyearsley <qyearsley@chromium.org> Date: Thu Mar 02 17:12:17 2017 When uploading updates to baselines/expectations, pass patchset title with "-t". BUG= 693792 Review-Url: https://codereview.chromium.org/2724953002 Cr-Commit-Position: refs/heads/master@{#454289} [modify] https://crrev.com/6e035cf67feec1c6547bf3a919bc3882636ac1af/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
,
Mar 2 2017
,
Jul 3 2017
,
Jul 3 2017
|
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by vadimsh@chromium.org
, Feb 18 2017