New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 717870 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue webrtc:7602
Owner: ----
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature



Sign in to add a comment

Refactor how we download Firefox, AppRTC etc for bots

Project Member Reported by kjellander@chromium.org, May 3 2017

Issue description

Today we have an "extra solution" for the .gclient on some of our bots that's become a dumping ground for everything that we need in addition to a regular checkout for running advanced tests. It contains code for downloading a Go runtime, a precompiled AppRTC, a nightly Firefox build etc.

Originally it was only used for Chromium WebRTC tests, but it has recently started to be used by our Android Perf bots since they also run AppRTC for AppRTCMobile loopback calls. That meant these bots broke when  bug 717500  hit us recently, even if those bots don't even need Firefox.

We should work out a better way to download "special resources" like this. My suggestion is that we invoke a download script manually as a build step on the bots instead of relying on the webrtc.DEPS (https://chromium.googlesource.com/chromium/deps/webrtc/webrtc.DEPS) solution being present. That also means those scripts needs to be moved out of there and into the Chromium/WebRTC repos instead.

In addition to that build step, the tests that needs these things should have a sanity check in place to ensure a user that attempts to run them get a clear error message about what's missing, instead of a hard-to-debug error.
 
Cc: phoglund@chromium.org
For WebRTC standalone tests, we use the approach of performing the download as part of the test instead for WebRTC tests:
https://chromium.googlesource.com/external/webrtc/+/master/webrtc/examples/androidtests/video_quality_loopback_test.py#105
https://chromium.googlesource.com/external/webrtc/+/master/webrtc/audio/test/low_bandwidth_audio_test.py#180

That way it's downloaded on-demand only and doesn't waste time and download for non-users. We should do the same for these Chromium tests.
I'd prefer to do this as an step on the bot instead of bake it into the tests, so we can isolate the test and don't depend on it downloading resources when it's run on swarming.
At least on the WebRTC bots.
Cc: mbonadei@chromium.org oprypin@chromium.org
That's a very good point Edward. I suggest we make the invocation as a separate step on the bots and make sure the test clearly checks for what it needs and prints a useful error message what needs to be done when something is missing.

That way the tests are more explicit and doesn't do unexpected downloads etc...
Mergedinto: webrtc:7602
Status: Duplicate (was: Available)
AppRTC is now in the main repo: webrtc:7602
Firefox was removed: chromium:751211
Quality measurement tools are downloaded as a separate step on bots: https://cs.chromium.org/chromium/build/scripts/slave/recipe_modules/webrtc/api.py?l=151&rcl=1174cae19a3ff2f3db6c50f87bfd852a6762543b

Sign in to add a comment