diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-11 11:32:04 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-18 13:40:17 +0000 |
commit | 31ccca0778db85c159634478b4ec7997f6704860 (patch) | |
tree | 3d33fc3afd9d5ec95541e1bbe074a9cf8da12a0e /chromium/docs/workflow | |
parent | 248b70b82a40964d5594eb04feca0fa36716185d (diff) | |
download | qtwebengine-chromium-31ccca0778db85c159634478b4ec7997f6704860.tar.gz |
BASELINE: Update Chromium to 80.0.3987.136
Change-Id: I98e1649aafae85ba3a83e67af00bb27ef301db7b
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'chromium/docs/workflow')
-rw-r--r-- | chromium/docs/workflow/debugging-with-swarming.md | 125 |
1 files changed, 88 insertions, 37 deletions
diff --git a/chromium/docs/workflow/debugging-with-swarming.md b/chromium/docs/workflow/debugging-with-swarming.md index 2de606e2162..a5c4a4119e2 100644 --- a/chromium/docs/workflow/debugging-with-swarming.md +++ b/chromium/docs/workflow/debugging-with-swarming.md @@ -54,6 +54,80 @@ or perhaps: use_swarming_to_run(type, isolate) ``` +## The easy way + +A lot of the steps described in this doc have been bundled up into 2 +tools. Before using either of these you will need to +[authenticate](#authenticating). + +### run-swarmed.py + +A lot of the logic below is wrapped up in `tools/run-swarmed.py`, which you can run +like this: + +``` +$ tools/run-swarmed.py $outdir $target +``` + +See the `--help` option of `run-swarmed.py` for more details about that script. + +### mb.py run + +Similar to `tools/run_swarmed.py`, `mb.py run` bundles much of the logic into a +single command line. Unlike `tools/run_swarmed.py`, `mb.py run` allows the user +to specify extra arguments to pass to the test, but has a messier command line. + +To use it, run: +``` +$ tools/mb/mb.py run \ + -s --no-default-dimensions \ + -d pool $pool \ + $criteria \ + $outdir $target \ + -- $extra_args +``` + +## A concrete example + +Here's how to run `chrome_public_test_apk` on a bot with a Nexus 5 running KitKat. + +```sh +$ tools/mb/mb.py run \ + -s --no-default-dimensions \ + -d pool chromium.tests \ + -d device_os_type userdebug -d device_os KTU84P -d device_type hammerhead \ + out/Android-arm-dbg chrome_public_test_apk +``` + +This assumes you have an `out/Android-arm-dbg/args.gn` like + +``` +ffmpeg_branding = "Chrome" +is_component_build = false +is_debug = true +proprietary_codecs = true +strip_absolute_paths_from_debug_symbols = true +symbol_level = 1 +system_webview_package_name = "com.google.android.webview" +target_os = "android" +use_goma = true +``` + +## Bot selection criteria + +The examples in this doc use `$criteria`. To figure out what values to use, you +can go to an existing swarming run +([recent tasks page](https://chromium-swarm.appspot.com/tasklist)) and +look at the `Dimensions` section. Each of these becomes a `-d dimension_name +dimension_value` in your `$criteria`. Click on `bots` (or go +[here](https://chromium-swarm.appspot.com/botlist)) to be taken to a UI that +allows you to try out the criteria interactively, so that you can be sure that +there are bots matching your criteria. Sometimes the web page shows a +human-friendly name rather than the name required on the commandline. [This +file](https://cs.chromium.org/chromium/infra/luci/appengine/swarming/ui2/modules/alias.js) +contains the mapping to human-friendly names. You can test your commandline by +entering `dimension_name:dimension_value` in the interactive UI. + ## Building an isolate At the moment, you can only build an isolate locally, like so (commands you type @@ -74,6 +148,17 @@ $ tools/mb/mb.py isolate --no-build //$outdir $target Support for building an isolate using swarming, which would allow you to build for a platform you can't build for locally, does not yet exist. +## Authenticating + +You may need to log in to `https://isolateserver.appspot.com` to do this: + +``` +$ python tools/swarming_client/auth.py login \ + --service=https://isolateserver.appspot.com +``` + +Use your google.com account for this. + ## Uploading an isolate You can then upload the resulting isolate to the isolate server: @@ -85,13 +170,6 @@ $ tools/swarming_client/isolate.py archive \ -s $outdir/$target.isolated ``` -You may need to log in to `https://isolateserver.appspot.com` to do this: - -``` -$ python tools/swarming_client/auth.py login \ - --service=https://isolateserver.appspot.com -``` - The `isolate.py` tool will emit something like this: ``` @@ -116,8 +194,8 @@ $ tools/swarming_client/swarming.py trigger \ ``` There are two more things you need to fill in here. The first is the pool name; -you should pick "Chrome" unless you know otherwise. The pool is the collection -of hosts from which swarming will try to pick bots to run your tasks. +you should pick "chromium.tests" unless you know otherwise. The pool is the +collection of hosts from which swarming will try to pick bots to run your tasks. The second is the criteria, which is how you specify which bot(s) you want your task scheduled on. These are specified via "dimensions", which are specified @@ -142,7 +220,7 @@ URL for the task it created, and a command you can run to collect the results of that task. For example: ``` -Triggered task: ellyjones@chromium.org/os=Linux_pool=Chrome/e625130b712096e3908266252c8cd779d7f442f1 +Triggered task: ellyjones@chromium.org/os=Linux_pool=chromium.tests/e625130b712096e3908266252c8cd779d7f442f1 To collect results, use: tools/swarming_client/swarming.py collect -S https://chromium-swarm.appspot.com 46fc393777163310 Or visit: @@ -153,33 +231,6 @@ The 'collect' command given there will block until the task is complete, then produce the task's results, or you can load that URL and watch the task's progress. -## run-swarmed.py - -A lot of this logic is wrapped up in `tools/run-swarmed.py`, which you can run -like this: - -``` -$ tools/run-swarmed.py $outdir $target -``` - -See the `--help` option of `run-swarmed.py` for more details about that script. - -## mb.py run - -Similar to `tools/run_swarmed.py`, `mb.py run` bundles much of the logic into a -single command line. Unlike `tools/run_swarmed.py`, `mb.py run` allows the user -to specify extra arguments to pass to the test, but has a messier command line. - -To use it, run: -``` -$ tools/mb/mb.py run \ - -s --no-default-dimensions \ - -d pool $pool \ - $criteria \ - $outdir $target \ - -- $extra_args -``` - ## Other notes If you are looking at a Swarming task page, be sure to check the bottom of the |