summaryrefslogtreecommitdiff
path: root/chromium/docs/workflow
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-03-11 11:32:04 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-03-18 13:40:17 +0000
commit31ccca0778db85c159634478b4ec7997f6704860 (patch)
tree3d33fc3afd9d5ec95541e1bbe074a9cf8da12a0e /chromium/docs/workflow
parent248b70b82a40964d5594eb04feca0fa36716185d (diff)
downloadqtwebengine-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.md125
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