Add LenovoYogaC630 (Win arm64 bot)

Change-Id: I70f4e01a2c55e85ee5e17a29f7f05a4a4aff2ae2
Bug: skia:8569 skia:8976
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204264
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
This commit is contained in:
Ben Wagner 2019-04-15 10:56:05 -04:00 committed by Skia Commit-Bot
parent e71641479c
commit 1875353110
10 changed files with 2792 additions and 2 deletions

View File

@ -258,7 +258,7 @@ func kitchenTask(name, recipe, isolate, serviceAccount string, dimensions []stri
serviceAccount = alternateServiceAccount(serviceAccount)
}
cipd := append([]*specs.CipdPackage{}, CIPD_PKGS_KITCHEN...)
if strings.Contains(name, "Win") {
if strings.Contains(name, "Win") && !strings.Contains(name, "LenovoYogaC630") {
cipd = append(cipd, CIPD_PKGS_CPYTHON...)
}
properties := map[string]string{
@ -541,6 +541,9 @@ func defaultSwarmDimensions(parts map[string]string) []string {
"AVX512": {
"GCE": "x86-64-Skylake_GCE",
},
"Snapdragon850": {
"LenovoYogaC630": "arm64-64-Snapdragon850",
},
}[parts["cpu_or_gpu_value"]]
if !ok {
glog.Fatalf("Entry %q not found in CPU mapping.", parts["cpu_or_gpu_value"])
@ -563,6 +566,8 @@ func defaultSwarmDimensions(parts map[string]string) []string {
return dockerGceDimensions()
} else if strings.Contains(parts["os"], "Win") {
gpu, ok := map[string]string{
// At some point this might use the device ID, but for now it's like Chromebooks.
"Adreno630": "Adreno630",
"GT610": "10de:104a-23.21.13.9101",
"GTX660": "10de:11c0-25.21.14.1634",
"GTX960": "10de:1401-25.21.14.1634",

View File

@ -113,7 +113,9 @@
"Build-Win-Clang-x86_64-Release-Vulkan",
"Build-Win-Clang-x86_64-Release-Shared",
"Build-Win-MSVC-arm64-Debug",
"Build-Win-MSVC-arm64-Debug-ANGLE",
"Build-Win-MSVC-arm64-Release",
"Build-Win-MSVC-arm64-Release-ANGLE",
"Build-Win-MSVC-x86-Debug",
"Build-Win-MSVC-x86-Release",
"Build-Win-MSVC-x86_64-Debug",
@ -626,6 +628,8 @@
"Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Debug-All-Vulkan",
"Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All",
"Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan",
"Test-Win10-MSVC-LenovoYogaC630-CPU-Snapdragon850-arm64-Debug-All",
"Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86-Debug-All",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86-Release-All",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All",

View File

@ -14,6 +14,7 @@ from . import chromecast
from . import default
from . import ios
from . import valgrind
from . import win_ssh
"""Abstractions for running code on various platforms.
@ -58,6 +59,9 @@ def is_test_skqp(vars_api):
def is_valgrind(vars_api):
return 'Valgrind' in vars_api.extra_tokens
def is_win_ssh(vars_api):
return 'LenovoYogaC630' in vars_api.builder_cfg.get('model', '')
class SkiaFlavorApi(recipe_api.RecipeApi):
def get_flavor(self, vars_api):
@ -72,6 +76,8 @@ class SkiaFlavorApi(recipe_api.RecipeApi):
return ios.iOSFlavor(self)
elif is_valgrind(vars_api):
return valgrind.ValgrindFlavor(self)
elif is_win_ssh(vars_api):
return win_ssh.WinSSHFlavor(self)
else:
return default.DefaultFlavor(self)

View File

@ -0,0 +1,928 @@
[
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[HOME]/ssh_machine.json",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read ssh_machine.json"
},
{
"cmd": [
"scp",
"file.txt",
"foo@127.0.0.1:file.txt"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "scp file.txt foo@127.0.0.1:file.txt"
},
{
"cmd": [],
"name": "read file.txt"
},
{
"cmd": [
"scp",
"foo@127.0.0.1:file.txt",
"[CLEANUP]/read_file_on_device_tmp_1/file.txt"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "read file.txt.scp foo@127.0.0.1:file.txt [CLEANUP]/read_file_on_device_tmp_1/file.txt",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/read_file_on_device_tmp_1/file.txt",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read file.txt.read file.txt",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"[CLEANUP]/read_file_on_device_tmp_1"
],
"infra_step": true,
"name": "read file.txt.rmtree [CLEANUP]/read_file_on_device_tmp_1",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if exist \"file.txt\" del \"file.txt\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm file.txt"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"results_dir"
],
"infra_step": true,
"name": "rmtree results_dir"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"results_dir"
],
"infra_step": true,
"name": "makedirs results_dir"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"device_results_dir\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean device_results_dir"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if not exist \"C:\\Users\\chrome-bot\\botdata\\resources\" md \"C:\\Users\\chrome-bot\\botdata\\resources\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir C:\\Users\\chrome-bot\\botdata\\resources"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\bin\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\bin"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if exist \"C:\\Users\\chrome-bot\\botdata\\empty\" rd \"C:\\Users\\chrome-bot\\botdata\\empty\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rmdir C:\\Users\\chrome-bot\\botdata\\empty"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if not exist \"C:\\Users\\chrome-bot\\botdata\\empty\" md \"C:\\Users\\chrome-bot\\botdata\\empty\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir C:\\Users\\chrome-bot\\botdata\\empty"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\bin\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\bin (2)"
},
{
"cmd": [],
"name": "copy [START_DIR]/skia/resources to device"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skia/resources to device.clean C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"-r",
"[START_DIR]/skia/resources",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\resources"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skia/resources to device.scp -r [START_DIR]/skia/resources foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\resources",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\resources\" \"C:\\Users\\chrome-bot\\botdata\\resources\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skia/resources to device.copy C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\resources to C:\\Users\\chrome-bot\\botdata\\resources",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/skp/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get skp VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SKP_VERSION"
],
"infra_step": true,
"name": "write SKP_VERSION"
},
{
"cmd": [],
"name": "read C:\\Users\\chrome-bot\\botdata\\SKP_VERSION"
},
{
"cmd": [
"scp",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SKP_VERSION",
"[CLEANUP]/read_file_on_device_tmp_2/SKP_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SKP_VERSION.scp foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SKP_VERSION [CLEANUP]/read_file_on_device_tmp_2/SKP_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/read_file_on_device_tmp_2/SKP_VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SKP_VERSION.read SKP_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"[CLEANUP]/read_file_on_device_tmp_2"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SKP_VERSION.rmtree [CLEANUP]/read_file_on_device_tmp_2",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if exist \"C:\\Users\\chrome-bot\\botdata\\SKP_VERSION\" del \"C:\\Users\\chrome-bot\\botdata\\SKP_VERSION\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm C:\\Users\\chrome-bot\\botdata\\SKP_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\skps\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\skps"
},
{
"cmd": [],
"name": "copy [START_DIR]/skp to device"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skp to device.clean C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"-r",
"[START_DIR]/skp",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skp"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skp to device.scp -r [START_DIR]/skp foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skp",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skp\" \"C:\\Users\\chrome-bot\\botdata\\skps\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skp to device.copy C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skp to C:\\Users\\chrome-bot\\botdata\\skps",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"[START_DIR]/tmp/SKP_VERSION",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SKP_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "scp [START_DIR]/tmp/SKP_VERSION foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SKP_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get skimage VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SK_IMAGE_VERSION"
],
"infra_step": true,
"name": "write SK_IMAGE_VERSION"
},
{
"cmd": [],
"name": "read C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION"
},
{
"cmd": [
"scp",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION",
"[CLEANUP]/read_file_on_device_tmp_3/SK_IMAGE_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION.scp foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION [CLEANUP]/read_file_on_device_tmp_3/SK_IMAGE_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/read_file_on_device_tmp_3/SK_IMAGE_VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION.read SK_IMAGE_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"[CLEANUP]/read_file_on_device_tmp_3"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION.rmtree [CLEANUP]/read_file_on_device_tmp_3",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if exist \"C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION\" del \"C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\images\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\images"
},
{
"cmd": [],
"name": "copy [START_DIR]/skimage to device"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skimage to device.clean C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"-r",
"[START_DIR]/skimage",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skimage"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skimage to device.scp -r [START_DIR]/skimage foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skimage",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skimage\" \"C:\\Users\\chrome-bot\\botdata\\images\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skimage to device.copy C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skimage to C:\\Users\\chrome-bot\\botdata\\images",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"[START_DIR]/tmp/SK_IMAGE_VERSION",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "scp [START_DIR]/tmp/SK_IMAGE_VERSION foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/svg/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get svg VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SVG_VERSION"
],
"infra_step": true,
"name": "write SVG_VERSION"
},
{
"cmd": [],
"name": "read C:\\Users\\chrome-bot\\botdata\\SVG_VERSION"
},
{
"cmd": [
"scp",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SVG_VERSION",
"[CLEANUP]/read_file_on_device_tmp_4/SVG_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SVG_VERSION.scp foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SVG_VERSION [CLEANUP]/read_file_on_device_tmp_4/SVG_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/read_file_on_device_tmp_4/SVG_VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SVG_VERSION.read SVG_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"[CLEANUP]/read_file_on_device_tmp_4"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SVG_VERSION.rmtree [CLEANUP]/read_file_on_device_tmp_4",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if exist \"C:\\Users\\chrome-bot\\botdata\\SVG_VERSION\" del \"C:\\Users\\chrome-bot\\botdata\\SVG_VERSION\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm C:\\Users\\chrome-bot\\botdata\\SVG_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\svgs\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\svgs"
},
{
"cmd": [],
"name": "copy [START_DIR]/svg to device"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/svg to device.clean C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"-r",
"[START_DIR]/svg",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\svg"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/svg to device.scp -r [START_DIR]/svg foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\svg",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\svg\" \"C:\\Users\\chrome-bot\\botdata\\svgs\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/svg to device.copy C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\svg to C:\\Users\\chrome-bot\\botdata\\svgs",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"[START_DIR]/tmp/SVG_VERSION",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SVG_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "scp [START_DIR]/tmp/SVG_VERSION foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SVG_VERSION"
},
{
"cmd": [],
"name": "copy [START_DIR]/build to device"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/build to device.clean C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"-r",
"[START_DIR]/build",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\build"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/build to device.scp -r [START_DIR]/build foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\build",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\build\" \"C:\\Users\\chrome-bot\\botdata\\bin\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/build to device.copy C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\build to C:\\Users\\chrome-bot\\botdata\\bin",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"C:\\Users\\chrome-bot\\botdata\\bin\\dm --some-flag",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"name": "dm"
},
{
"cmd": [
"scp",
"-r",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\dm_out\\*",
"[START_DIR]/[SWARM_OUT_DIR]"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "scp -r foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\dm_out\\* [START_DIR]/[SWARM_OUT_DIR]"
},
{
"jsonResult": null,
"name": "$result"
}
]

View File

@ -87,6 +87,7 @@ TEST_BUILDERS = [
('Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release-All'
'-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41'),
'Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_ProcDump',
'Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE',
]
# Default properties used for TEST_BUILDERS.

View File

@ -0,0 +1,61 @@
#!/usr/bin/env python
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import base64
import re
import subprocess
import sys
# Usage: win_ssh_cmd.py <user@host> <cmd shell string> [<fail errorlevel>]
# Runs the given command over ssh and exits with 0 if the command succeeds or 1
# if the command fails. The command is considered to fail if the errorlevel is
# greater than or equal to <fail errorlevel>. Ignores all ANSI escape codes.
SENTINEL = 'win_ssh_cmd remote command successful'
# Based on https://stackoverflow.com/a/14693789; edited to incorporate OSC
# based on https://en.wikipedia.org/wiki/ANSI_escape_code#Escape_sequences
ANSI_ESCAPE_RE = re.compile(r'\x1B(\[[0-?]*[ -/]*[@-~]|\].*(\x1B\\|\x07))')
def main(user_host, cmd, fail_errorlevel):
ssh_cmd = ['ssh', '-oConnectTimeout=15', '-oBatchMode=yes', '-t', '-t',
user_host,
'(' + cmd + ') & if not errorlevel %s echo "%s"' % (
fail_errorlevel, SENTINEL)]
# orig_lines stores the full output of ssh_cmd.
orig_lines = []
# True if we saw a line matching SENTINEL.
saw_sentinel = False
print >> sys.stderr, 'Original command:\n%s\nFull command:\n%s' % (
cmd, ' '.join([repr(s) for s in ssh_cmd]))
proc = subprocess.Popen(ssh_cmd, stdout=subprocess.PIPE)
for line in iter(proc.stdout.readline, ''):
orig_lines.append(line)
line = ANSI_ESCAPE_RE.sub('', line)
stripped = line.strip()
if stripped == SENTINEL:
saw_sentinel = True
elif stripped != '':
print stripped
proc.wait()
sys.stdout.flush()
print >> sys.stderr, 'Raw output base64-encoded:\n%s' % (
base64.b64encode(''.join(orig_lines)))
if proc.returncode != 0:
sys.exit(proc.returncode)
if not saw_sentinel:
sys.exit(1)
sys.exit(0)
if __name__ == '__main__':
if len(sys.argv) < 3:
print >> sys.stderr, (
'USAGE: %s <user@host> <cmd shell string> [<fail errorlevel>]' %
sys.argv[0])
sys.exit(1)
arg_fail_errorlevel = 1 if len(sys.argv) < 4 else sys.argv[3]
main(sys.argv[1], sys.argv[2], arg_fail_errorlevel)

View File

@ -0,0 +1,122 @@
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from recipe_engine import recipe_api
import default
import ntpath
import ssh
import subprocess # TODO(borenet): No! Remove this.
"""Win SSH flavor, used for running code on Windows via an SSH connection.
Copied from chromebook.py and modified for Windows.
"""
class WinSSHFlavor(ssh.SSHFlavor):
def __init__(self, m):
super(WinSSHFlavor, self).__init__(m)
self.remote_homedir = 'C:\\Users\\chrome-bot\\botdata\\'
self.device_dirs = default.DeviceDirs(
bin_dir = self.device_path_join(self.remote_homedir, 'bin'),
dm_dir = self.device_path_join(self.remote_homedir, 'dm_out'),
perf_data_dir = self.device_path_join(self.remote_homedir, 'perf'),
resource_dir = self.device_path_join(self.remote_homedir, 'resources'),
images_dir = self.device_path_join(self.remote_homedir, 'images'),
lotties_dir = self.device_path_join(self.remote_homedir, 'lotties'),
skp_dir = self.device_path_join(self.remote_homedir, 'skps'),
svg_dir = self.device_path_join(self.remote_homedir, 'svgs'),
tmp_dir = self.remote_homedir)
self._empty_dir = self.device_path_join(self.remote_homedir, 'empty')
def _cmd(self, title, cmd, infra_step=True, fail_errorlevel=1, **kwargs):
return self.m.run(self.m.python, title,
script=self.module.resource('win_ssh_cmd.py'),
args=[self.user_ip, cmd, fail_errorlevel],
infra_step=infra_step, **kwargs)
def ensure_device_dir(self, path):
self._cmd('mkdir %s' % path, 'if not exist "%s" md "%s"' % (path, path))
def _rmdir(self, path):
self._cmd('rmdir %s' % path, 'if exist "%s" rd "%s"' % (path, path))
def device_path_join(self, *args):
return ntpath.join(*args)
def install(self):
super(WinSSHFlavor, self).install()
# Ensure that our empty dir is actually empty.
self._rmdir(self._empty_dir)
self.ensure_device_dir(self._empty_dir)
self.create_clean_device_dir(self.device_dirs.bin_dir)
def create_clean_device_dir(self, path):
# Based on https://stackoverflow.com/a/98069 and
# https://superuser.com/a/346112.
self._cmd('clean %s' % path,
'robocopy /mir "%s" "%s"' % (self._empty_dir, path),
fail_errorlevel=8)
def read_file_on_device(self, path, **kwargs):
with self.m.step.nest('read %s' % path):
with self.m.tempfile.temp_dir('read_file_on_device') as tmp:
host_path = tmp.join(ntpath.basename(path))
device_path = self.scp_device_path(path)
ok = self._run('scp %s %s' % (device_path, host_path),
cmd=['scp', device_path, host_path],
infra_step=True, **kwargs)
# TODO(dogben): Should readfile respect fail_build_on_failure and
# abort_on_failure?
if ok:
return self.m.run.readfile(host_path)
def remove_file_on_device(self, path):
self._cmd('rm %s' % path, 'if exist "%s" del "%s"' % (path, path))
def _copy_dir(self, src, dest):
self._run('scp -r %s %s' % (src, dest),
cmd=['scp', '-r', src, dest], infra_step=True)
def copy_directory_contents_to_device(self, host_path, device_path):
# Callers expect that the destination directory is replaced, which is not
# how scp works when the destination is a directory. Instead scp to tmp_dir
# and then robocopy to the correct destination.
# Other flavors use a glob and subprocess with shell=True to copy the
# contents of host_path; however, there are a lot of ways POSIX shell
# interpretation could mess up Windows path names.
with self.m.step.nest('copy %s to device' % host_path):
tmp_pardir = self.device_path_join(
self.device_dirs.tmp_dir,
'tmp_copy_directory_contents_to_device')
self.create_clean_device_dir(tmp_pardir)
tmpdir = self.device_path_join(tmp_pardir,
self.m.path.basename(host_path))
self._copy_dir(host_path, self.scp_device_path(tmpdir))
self._cmd('copy %s to %s' % (tmpdir, device_path),
'robocopy /mir "%s" "%s"' % (tmpdir, device_path),
fail_errorlevel=8)
def copy_directory_contents_to_host(self, device_path, host_path):
# Note that the glob in src is interpreted by the remote shell.
src = self.scp_device_path(self.device_path_join(device_path, '*'))
self._copy_dir(src, host_path)
def step(self, name, cmd, infra_step=False, **kwargs):
# There may be DLLs in the same dir as the executable that must be loaded
# (yes, Windows allows overriding system DLLs with files in the local
# directory). For simplicity, just copy the entire dir to the device.
self.copy_directory_contents_to_device(self.host_dirs.bin_dir,
self.device_dirs.bin_dir)
cmd[0] = self.device_path_join(self.device_dirs.bin_dir, cmd[0])
self._cmd(name, subprocess.list2cmdline(map(str, cmd)),
infra_step=infra_step, **kwargs)

View File

@ -0,0 +1,950 @@
[
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[START_DIR]/tmp"
],
"infra_step": true,
"name": "makedirs tmp_dir"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[HOME]/ssh_machine.json",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read ssh_machine.json"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if not exist \"C:\\Users\\chrome-bot\\botdata\\resources\" md \"C:\\Users\\chrome-bot\\botdata\\resources\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir C:\\Users\\chrome-bot\\botdata\\resources"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\bin\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\bin"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if exist \"C:\\Users\\chrome-bot\\botdata\\empty\" rd \"C:\\Users\\chrome-bot\\botdata\\empty\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rmdir C:\\Users\\chrome-bot\\botdata\\empty"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if not exist \"C:\\Users\\chrome-bot\\botdata\\empty\" md \"C:\\Users\\chrome-bot\\botdata\\empty\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "mkdir C:\\Users\\chrome-bot\\botdata\\empty"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\bin\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\bin (2)"
},
{
"cmd": [],
"name": "copy [START_DIR]/skia/resources to device"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skia/resources to device.clean C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"-r",
"[START_DIR]/skia/resources",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\resources"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skia/resources to device.scp -r [START_DIR]/skia/resources foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\resources",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\resources\" \"C:\\Users\\chrome-bot\\botdata\\resources\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skia/resources to device.copy C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\resources to C:\\Users\\chrome-bot\\botdata\\resources",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/skp/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get skp VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SKP_VERSION"
],
"infra_step": true,
"name": "write SKP_VERSION"
},
{
"cmd": [],
"name": "read C:\\Users\\chrome-bot\\botdata\\SKP_VERSION"
},
{
"cmd": [
"scp",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SKP_VERSION",
"[CLEANUP]/read_file_on_device_tmp_1/SKP_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SKP_VERSION.scp foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SKP_VERSION [CLEANUP]/read_file_on_device_tmp_1/SKP_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/read_file_on_device_tmp_1/SKP_VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SKP_VERSION.read SKP_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"[CLEANUP]/read_file_on_device_tmp_1"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SKP_VERSION.rmtree [CLEANUP]/read_file_on_device_tmp_1",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if exist \"C:\\Users\\chrome-bot\\botdata\\SKP_VERSION\" del \"C:\\Users\\chrome-bot\\botdata\\SKP_VERSION\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm C:\\Users\\chrome-bot\\botdata\\SKP_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\skps\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\skps"
},
{
"cmd": [],
"name": "copy [START_DIR]/skp to device"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skp to device.clean C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"-r",
"[START_DIR]/skp",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skp"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skp to device.scp -r [START_DIR]/skp foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skp",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skp\" \"C:\\Users\\chrome-bot\\botdata\\skps\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skp to device.copy C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skp to C:\\Users\\chrome-bot\\botdata\\skps",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"[START_DIR]/tmp/SKP_VERSION",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SKP_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "scp [START_DIR]/tmp/SKP_VERSION foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SKP_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get skimage VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SK_IMAGE_VERSION"
],
"infra_step": true,
"name": "write SK_IMAGE_VERSION"
},
{
"cmd": [],
"name": "read C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION"
},
{
"cmd": [
"scp",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION",
"[CLEANUP]/read_file_on_device_tmp_2/SK_IMAGE_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION.scp foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION [CLEANUP]/read_file_on_device_tmp_2/SK_IMAGE_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/read_file_on_device_tmp_2/SK_IMAGE_VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION.read SK_IMAGE_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"[CLEANUP]/read_file_on_device_tmp_2"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION.rmtree [CLEANUP]/read_file_on_device_tmp_2",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if exist \"C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION\" del \"C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\images\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\images"
},
{
"cmd": [],
"name": "copy [START_DIR]/skimage to device"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skimage to device.clean C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"-r",
"[START_DIR]/skimage",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skimage"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skimage to device.scp -r [START_DIR]/skimage foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skimage",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skimage\" \"C:\\Users\\chrome-bot\\botdata\\images\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/skimage to device.copy C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\skimage to C:\\Users\\chrome-bot\\botdata\\images",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"[START_DIR]/tmp/SK_IMAGE_VERSION",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "scp [START_DIR]/tmp/SK_IMAGE_VERSION foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SK_IMAGE_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[START_DIR]/skia/infra/bots/assets/svg/VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "Get svg VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"42",
"[START_DIR]/tmp/SVG_VERSION"
],
"infra_step": true,
"name": "write SVG_VERSION"
},
{
"cmd": [],
"name": "read C:\\Users\\chrome-bot\\botdata\\SVG_VERSION"
},
{
"cmd": [
"scp",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SVG_VERSION",
"[CLEANUP]/read_file_on_device_tmp_3/SVG_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SVG_VERSION.scp foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SVG_VERSION [CLEANUP]/read_file_on_device_tmp_3/SVG_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"copy",
"[CLEANUP]/read_file_on_device_tmp_3/SVG_VERSION",
"/path/to/tmp/"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SVG_VERSION.read SVG_VERSION",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"[CLEANUP]/read_file_on_device_tmp_3"
],
"infra_step": true,
"name": "read C:\\Users\\chrome-bot\\botdata\\SVG_VERSION.rmtree [CLEANUP]/read_file_on_device_tmp_3",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"if exist \"C:\\Users\\chrome-bot\\botdata\\SVG_VERSION\" del \"C:\\Users\\chrome-bot\\botdata\\SVG_VERSION\"",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "rm C:\\Users\\chrome-bot\\botdata\\SVG_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\svgs\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\svgs"
},
{
"cmd": [],
"name": "copy [START_DIR]/svg to device"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/svg to device.clean C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"-r",
"[START_DIR]/svg",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\svg"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/svg to device.scp -r [START_DIR]/svg foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\svg",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\svg\" \"C:\\Users\\chrome-bot\\botdata\\svgs\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/svg to device.copy C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\svg to C:\\Users\\chrome-bot\\botdata\\svgs",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"[START_DIR]/tmp/SVG_VERSION",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SVG_VERSION"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "scp [START_DIR]/tmp/SVG_VERSION foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\SVG_VERSION"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"rmtree",
"[START_DIR]/test"
],
"infra_step": true,
"name": "rmtree test"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
"ensure-directory",
"--mode",
"0777",
"[START_DIR]/test"
],
"infra_step": true,
"name": "makedirs test"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\dm_out\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "clean C:\\Users\\chrome-bot\\botdata\\dm_out"
},
{
"cmd": [
"python",
"-u",
"\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = sys.argv[1]\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n try:\n with contextlib.closing(\n urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n hashes = w.read()\n with open(sys.argv[2], 'w') as f:\n f.write(hashes)\n break\n except Exception as e:\n print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n print e\n if retry == RETRIES:\n raise\n waittime = WAIT_BASE * math.pow(2, retry)\n print 'Retry in %d seconds.' % waittime\n time.sleep(waittime)\n",
"https://example.com/hashes.txt",
"[START_DIR]/tmp/uninteresting_hashes.txt"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "get uninteresting hashes",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@import contextlib@@@",
"@@@STEP_LOG_LINE@python.inline@import math@@@",
"@@@STEP_LOG_LINE@python.inline@import socket@@@",
"@@@STEP_LOG_LINE@python.inline@import sys@@@",
"@@@STEP_LOG_LINE@python.inline@import time@@@",
"@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@HASHES_URL = sys.argv[1]@@@",
"@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@",
"@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@",
"@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
"@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@",
"@@@STEP_LOG_LINE@python.inline@ try:@@@",
"@@@STEP_LOG_LINE@python.inline@ with contextlib.closing(@@@",
"@@@STEP_LOG_LINE@python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
"@@@STEP_LOG_LINE@python.inline@ hashes = w.read()@@@",
"@@@STEP_LOG_LINE@python.inline@ with open(sys.argv[2], 'w') as f:@@@",
"@@@STEP_LOG_LINE@python.inline@ f.write(hashes)@@@",
"@@@STEP_LOG_LINE@python.inline@ break@@@",
"@@@STEP_LOG_LINE@python.inline@ except Exception as e:@@@",
"@@@STEP_LOG_LINE@python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
"@@@STEP_LOG_LINE@python.inline@ print e@@@",
"@@@STEP_LOG_LINE@python.inline@ if retry == RETRIES:@@@",
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
"@@@STEP_LOG_LINE@python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@",
"@@@STEP_LOG_LINE@python.inline@ print 'Retry in %d seconds.' % waittime@@@",
"@@@STEP_LOG_LINE@python.inline@ time.sleep(waittime)@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"scp",
"[START_DIR]/tmp/uninteresting_hashes.txt",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\uninteresting_hashes.txt"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "scp [START_DIR]/tmp/uninteresting_hashes.txt foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\uninteresting_hashes.txt"
},
{
"cmd": [
"python",
"-u",
"import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
],
"name": "get swarming bot id",
"stdout": "/path/to/tmp/",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [
"python",
"-u",
"import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
],
"name": "get swarming task id",
"stdout": "/path/to/tmp/",
"~followup_annotations": [
"@@@STEP_LOG_LINE@python.inline@import os@@@",
"@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
"@@@STEP_LOG_END@python.inline@@@"
]
},
{
"cmd": [],
"name": "copy [START_DIR]/build to device"
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\empty\" \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/build to device.clean C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"scp",
"-r",
"[START_DIR]/build",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\build"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/build to device.scp -r [START_DIR]/build foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\build",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"robocopy /mir \"C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\build\" \"C:\\Users\\chrome-bot\\botdata\\bin\"",
"8"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "copy [START_DIR]/build to device.copy C:\\Users\\chrome-bot\\botdata\\tmp_copy_directory_contents_to_device\\build to C:\\Users\\chrome-bot\\botdata\\bin",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
"python",
"-u",
"RECIPE_MODULE[skia::flavor]/resources/win_ssh_cmd.py",
"foo@127.0.0.1",
"C:\\Users\\chrome-bot\\botdata\\bin\\dm --resourcePath C:\\Users\\chrome-bot\\botdata\\resources --skps C:\\Users\\chrome-bot\\botdata\\skps --images C:\\Users\\chrome-bot\\botdata\\images\\dm --colorImages C:\\Users\\chrome-bot\\botdata\\images\\colorspace --nameByHash --properties gitHash abc123 builder Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE buildbucket_build_id 123454321 task_id task_12345 swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs C:\\Users\\chrome-bot\\botdata\\svgs --key arch arm64 compiler MSVC configuration Debug cpu_or_gpu GPU cpu_or_gpu_value Adreno630 extra_config ANGLE model LenovoYogaC630 os Win10 style default --uninterestingHashesFile C:\\Users\\chrome-bot\\botdata\\uninteresting_hashes.txt --writePath C:\\Users\\chrome-bot\\botdata\\dm_out --dont_write pdf --randomProcessorTest --nocpu --config angle_d3d11_es2 angle_d3d11_es3 angle_d3d11_es2_msaa8 angle_d3d11_es3_msaa8 --src tests gm image colorImage svg --blacklist _ svg _ svgparse_ _ image gen_platf pal8os2v2.bmp _ image gen_platf pal8os2v2-16.bmp _ image gen_platf rgba32abf.bmp _ image gen_platf rgb24prof.bmp _ image gen_platf rgb24lprof.bmp _ image gen_platf 8bpp-pixeldata-cropped.bmp _ image gen_platf 4bpp-pixeldata-cropped.bmp _ image gen_platf 32bpp-pixeldata-cropped.bmp _ image gen_platf 24bpp-pixeldata-cropped.bmp _ image gen_platf testimgari.jpg _ image gen_platf rle8-height-negative.bmp _ image gen_platf rle4-height-negative.bmp _ image gen_platf error _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW _ tests _ GrDefaultPathRendererTest --match ~BlurMaskBiggerThanDest --nonativeFonts --verbose",
"1"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"name": "dm"
},
{
"cmd": [
"scp",
"-r",
"foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\dm_out\\*",
"[START_DIR]/[SWARM_OUT_DIR]"
],
"env": {
"CHROME_HEADLESS": "1",
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
},
"infra_step": true,
"name": "scp -r foo@127.0.0.1:C:\\Users\\chrome-bot\\botdata\\dm_out\\* [START_DIR]/[SWARM_OUT_DIR]"
},
{
"jsonResult": null,
"name": "$result"
}
]

View File

@ -196,6 +196,10 @@ def dm_flags(api, bot):
'angle_d3d9_es2',
'angle_gl_es2',
'angle_d3d11_es3']
if 'LenovoYogaC630' in bot:
# LenovoYogaC630 only supports D3D11, not GL.
configs = ['angle_d3d11_es2',
'angle_d3d11_es3']
if sample_count is not '':
configs.append('angle_d3d11_es2_msaa' + sample_count)
configs.append('angle_d3d11_es3_msaa' + sample_count)
@ -768,6 +772,10 @@ def dm_flags(api, bot):
# skia:8762
blacklist(['_', 'tests', '_', 'Codec_gif'])
if 'LenovoYogaC630' in bot and 'ANGLE' in api.vars.extra_tokens:
# skia:8976
blacklist(['_', 'tests', '_', 'GrDefaultPathRendererTest'])
if blacklisted:
args.append('--blacklist')
args.extend(blacklisted)
@ -1050,6 +1058,7 @@ TEST_BUILDERS = [
'Test-Win10-Clang-NUCD34010WYKH-GPU-IntelHD4400-x86_64-Release-All-ANGLE',
'Test-Win10-Clang-ShuttleA-GPU-GTX660-x86_64-Release-All-Vulkan',
'Test-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Debug-All-ANGLE',
'Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE',
'Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FAAA',
'Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FSAA',
'Test-Win2016-MSVC-GCE-CPU-AVX2-x86_64-Debug-All-MSRTC',
@ -1083,7 +1092,7 @@ def GenTests(api):
api.step_data('get swarming task id',
stdout=api.raw_io.output('123456'))
)
if 'Win' in builder:
if 'Win' in builder and not 'LenovoYogaC630' in builder:
test += api.platform('win', 64)
if 'Chromecast' in builder:

View File

@ -575,11 +575,21 @@
"Build-Win-MSVC-arm64-Debug"
]
},
"Build-Win-MSVC-arm64-Debug-ANGLE": {
"tasks": [
"Build-Win-MSVC-arm64-Debug-ANGLE"
]
},
"Build-Win-MSVC-arm64-Release": {
"tasks": [
"Build-Win-MSVC-arm64-Release"
]
},
"Build-Win-MSVC-arm64-Release-ANGLE": {
"tasks": [
"Build-Win-MSVC-arm64-Release-ANGLE"
]
},
"Build-Win-MSVC-x86-Debug": {
"tasks": [
"Build-Win-MSVC-x86-Debug"
@ -3158,6 +3168,16 @@
"Upload-Test-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan"
]
},
"Test-Win10-MSVC-LenovoYogaC630-CPU-Snapdragon850-arm64-Debug-All": {
"tasks": [
"Upload-Test-Win10-MSVC-LenovoYogaC630-CPU-Snapdragon850-arm64-Debug-All"
]
},
"Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE": {
"tasks": [
"Upload-Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86-Debug-All": {
"tasks": [
"Upload-Test-Win2016-Clang-GCE-CPU-AVX2-x86-Debug-All"
@ -18067,6 +18087,137 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-MSVC-arm64-Debug-ANGLE": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
},
{
"name": "git",
"path": "cache/git"
},
{
"name": "git_cache",
"path": "cache/git_cache"
},
{
"name": "work",
"path": "cache/work"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:d8f38ca9494b5af249942631f9cee45927f6b4bc"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:2c805f1c716f6c5ad2126b27ec88b8585a09481e"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:96f81e737868d43124b4661cf1c325296ca04944"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.14.chromium14"
},
{
"name": "infra/git/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.17.1.chromium15"
},
{
"name": "infra/tools/git/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:c9c8a52bfeaf8bc00ece22fdfd447822c8fcad77"
},
{
"name": "infra/tools/luci/git-credential-luci/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:2c805f1c716f6c5ad2126b27ec88b8585a09481e"
}
],
"command": [
"./kitchen${EXECUTABLE_SUFFIX}",
"cook",
"-checkout-dir",
"recipe_bundle",
"-mode",
"swarming",
"-luci-system-account",
"system",
"-cache-dir",
"cache",
"-temp-dir",
"tmp",
"-known-gerrit-host",
"android.googlesource.com",
"-known-gerrit-host",
"boringssl.googlesource.com",
"-known-gerrit-host",
"chromium.googlesource.com",
"-known-gerrit-host",
"dart.googlesource.com",
"-known-gerrit-host",
"fuchsia.googlesource.com",
"-known-gerrit-host",
"go.googlesource.com",
"-known-gerrit-host",
"llvm.googlesource.com",
"-known-gerrit-host",
"skia.googlesource.com",
"-known-gerrit-host",
"webrtc.googlesource.com",
"-output-result-json",
"${ISOLATED_OUTDIR}/build_result_filename",
"-workdir",
".",
"-recipe",
"compile",
"-properties",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Build-Win-MSVC-arm64-Debug-ANGLE\",\"patch_issue\":\"<(ISSUE)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"build\",\"task_id\":\"<(TASK_ID)\"}",
"-logdog-annotation-url",
"logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateWinToolchain"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-highcpu-64",
"os:Windows-2016Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
},
"io_timeout_ns": 3600000000000,
"isolate": "swarm_recipe.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-MSVC-arm64-Release": {
"caches": [
{
@ -18198,6 +18349,137 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-MSVC-arm64-Release-ANGLE": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
},
{
"name": "git",
"path": "cache/git"
},
{
"name": "git_cache",
"path": "cache/git_cache"
},
{
"name": "work",
"path": "cache/work"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:d8f38ca9494b5af249942631f9cee45927f6b4bc"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:2c805f1c716f6c5ad2126b27ec88b8585a09481e"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:96f81e737868d43124b4661cf1c325296ca04944"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.14.chromium14"
},
{
"name": "infra/git/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.17.1.chromium15"
},
{
"name": "infra/tools/git/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:c9c8a52bfeaf8bc00ece22fdfd447822c8fcad77"
},
{
"name": "infra/tools/luci/git-credential-luci/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:2c805f1c716f6c5ad2126b27ec88b8585a09481e"
}
],
"command": [
"./kitchen${EXECUTABLE_SUFFIX}",
"cook",
"-checkout-dir",
"recipe_bundle",
"-mode",
"swarming",
"-luci-system-account",
"system",
"-cache-dir",
"cache",
"-temp-dir",
"tmp",
"-known-gerrit-host",
"android.googlesource.com",
"-known-gerrit-host",
"boringssl.googlesource.com",
"-known-gerrit-host",
"chromium.googlesource.com",
"-known-gerrit-host",
"dart.googlesource.com",
"-known-gerrit-host",
"fuchsia.googlesource.com",
"-known-gerrit-host",
"go.googlesource.com",
"-known-gerrit-host",
"llvm.googlesource.com",
"-known-gerrit-host",
"skia.googlesource.com",
"-known-gerrit-host",
"webrtc.googlesource.com",
"-output-result-json",
"${ISOLATED_OUTDIR}/build_result_filename",
"-workdir",
".",
"-recipe",
"compile",
"-properties",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Build-Win-MSVC-arm64-Release-ANGLE\",\"patch_issue\":\"<(ISSUE)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"build\",\"task_id\":\"<(TASK_ID)\"}",
"-logdog-annotation-url",
"logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateWinToolchain"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-highcpu-64",
"os:Windows-2016Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
},
"io_timeout_ns": 3600000000000,
"isolate": "swarm_recipe.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-MSVC-x86-Debug": {
"caches": [
{
@ -73876,6 +74158,228 @@
"test"
]
},
"Test-Win10-MSVC-LenovoYogaC630-CPU-Snapdragon850-arm64-Debug-All": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:d8f38ca9494b5af249942631f9cee45927f6b4bc"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:2c805f1c716f6c5ad2126b27ec88b8585a09481e"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:96f81e737868d43124b4661cf1c325296ca04944"
},
{
"name": "skia/bots/skimage",
"path": "skimage",
"version": "version:39"
},
{
"name": "skia/bots/skp",
"path": "skp",
"version": "version:182"
},
{
"name": "skia/bots/svg",
"path": "svg",
"version": "version:9"
}
],
"command": [
"./kitchen${EXECUTABLE_SUFFIX}",
"cook",
"-checkout-dir",
"recipe_bundle",
"-mode",
"swarming",
"-luci-system-account",
"system",
"-cache-dir",
"cache",
"-temp-dir",
"tmp",
"-known-gerrit-host",
"android.googlesource.com",
"-known-gerrit-host",
"boringssl.googlesource.com",
"-known-gerrit-host",
"chromium.googlesource.com",
"-known-gerrit-host",
"dart.googlesource.com",
"-known-gerrit-host",
"fuchsia.googlesource.com",
"-known-gerrit-host",
"go.googlesource.com",
"-known-gerrit-host",
"llvm.googlesource.com",
"-known-gerrit-host",
"skia.googlesource.com",
"-known-gerrit-host",
"webrtc.googlesource.com",
"-output-result-json",
"${ISOLATED_OUTDIR}/build_result_filename",
"-workdir",
".",
"-recipe",
"test",
"-properties",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Win10-MSVC-LenovoYogaC630-CPU-Snapdragon850-arm64-Debug-All\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"patch_issue\":\"<(ISSUE)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
"-logdog-annotation-url",
"logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Build-Win-MSVC-arm64-Debug"
],
"dimensions": [
"cpu:arm64-64-Snapdragon850",
"os:Windows-10-17763.379",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
},
"io_timeout_ns": 14400000000000,
"isolate": "test_skia_bundled.isolate",
"max_attempts": 2,
"outputs": [
"test"
]
},
"Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:d8f38ca9494b5af249942631f9cee45927f6b4bc"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:2c805f1c716f6c5ad2126b27ec88b8585a09481e"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:96f81e737868d43124b4661cf1c325296ca04944"
},
{
"name": "skia/bots/skimage",
"path": "skimage",
"version": "version:39"
},
{
"name": "skia/bots/skp",
"path": "skp",
"version": "version:182"
},
{
"name": "skia/bots/svg",
"path": "svg",
"version": "version:9"
}
],
"command": [
"./kitchen${EXECUTABLE_SUFFIX}",
"cook",
"-checkout-dir",
"recipe_bundle",
"-mode",
"swarming",
"-luci-system-account",
"system",
"-cache-dir",
"cache",
"-temp-dir",
"tmp",
"-known-gerrit-host",
"android.googlesource.com",
"-known-gerrit-host",
"boringssl.googlesource.com",
"-known-gerrit-host",
"chromium.googlesource.com",
"-known-gerrit-host",
"dart.googlesource.com",
"-known-gerrit-host",
"fuchsia.googlesource.com",
"-known-gerrit-host",
"go.googlesource.com",
"-known-gerrit-host",
"llvm.googlesource.com",
"-known-gerrit-host",
"skia.googlesource.com",
"-known-gerrit-host",
"webrtc.googlesource.com",
"-output-result-json",
"${ISOLATED_OUTDIR}/build_result_filename",
"-workdir",
".",
"-recipe",
"test",
"-properties",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"patch_issue\":\"<(ISSUE)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
"-logdog-annotation-url",
"logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Build-Win-MSVC-arm64-Debug-ANGLE"
],
"dimensions": [
"gpu:Adreno630",
"os:Windows-10-17763.379",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
},
"io_timeout_ns": 14400000000000,
"isolate": "test_skia_bundled.isolate",
"max_attempts": 2,
"outputs": [
"test"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86-Debug-All": {
"caches": [
{
@ -113064,6 +113568,206 @@
"max_attempts": 2,
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
"Upload-Test-Win10-MSVC-LenovoYogaC630-CPU-Snapdragon850-arm64-Debug-All": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:d8f38ca9494b5af249942631f9cee45927f6b4bc"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:2c805f1c716f6c5ad2126b27ec88b8585a09481e"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:96f81e737868d43124b4661cf1c325296ca04944"
},
{
"name": "infra/gsutil",
"path": "cipd_bin_packages",
"version": "version:4.28"
}
],
"command": [
"./kitchen${EXECUTABLE_SUFFIX}",
"cook",
"-checkout-dir",
"recipe_bundle",
"-mode",
"swarming",
"-luci-system-account",
"system",
"-cache-dir",
"cache",
"-temp-dir",
"tmp",
"-known-gerrit-host",
"android.googlesource.com",
"-known-gerrit-host",
"boringssl.googlesource.com",
"-known-gerrit-host",
"chromium.googlesource.com",
"-known-gerrit-host",
"dart.googlesource.com",
"-known-gerrit-host",
"fuchsia.googlesource.com",
"-known-gerrit-host",
"go.googlesource.com",
"-known-gerrit-host",
"llvm.googlesource.com",
"-known-gerrit-host",
"skia.googlesource.com",
"-known-gerrit-host",
"webrtc.googlesource.com",
"-output-result-json",
"${ISOLATED_OUTDIR}/build_result_filename",
"-workdir",
".",
"-recipe",
"upload_dm_results",
"-properties",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Win10-MSVC-LenovoYogaC630-CPU-Snapdragon850-arm64-Debug-All\",\"gs_bucket\":\"skia-infra-gm\",\"patch_issue\":\"<(ISSUE)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\",\"task_id\":\"<(TASK_ID)\"}",
"-logdog-annotation-url",
"logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Test-Win10-MSVC-LenovoYogaC630-CPU-Snapdragon850-arm64-Debug-All"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"machine_type:n1-highmem-2",
"os:Debian-9.8",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
},
"io_timeout_ns": 3600000000000,
"isolate": "swarm_recipe.isolate",
"max_attempts": 2,
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
"Upload-Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:d8f38ca9494b5af249942631f9cee45927f6b4bc"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:2c805f1c716f6c5ad2126b27ec88b8585a09481e"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:96f81e737868d43124b4661cf1c325296ca04944"
},
{
"name": "infra/gsutil",
"path": "cipd_bin_packages",
"version": "version:4.28"
}
],
"command": [
"./kitchen${EXECUTABLE_SUFFIX}",
"cook",
"-checkout-dir",
"recipe_bundle",
"-mode",
"swarming",
"-luci-system-account",
"system",
"-cache-dir",
"cache",
"-temp-dir",
"tmp",
"-known-gerrit-host",
"android.googlesource.com",
"-known-gerrit-host",
"boringssl.googlesource.com",
"-known-gerrit-host",
"chromium.googlesource.com",
"-known-gerrit-host",
"dart.googlesource.com",
"-known-gerrit-host",
"fuchsia.googlesource.com",
"-known-gerrit-host",
"go.googlesource.com",
"-known-gerrit-host",
"llvm.googlesource.com",
"-known-gerrit-host",
"skia.googlesource.com",
"-known-gerrit-host",
"webrtc.googlesource.com",
"-output-result-json",
"${ISOLATED_OUTDIR}/build_result_filename",
"-workdir",
".",
"-recipe",
"upload_dm_results",
"-properties",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE\",\"gs_bucket\":\"skia-infra-gm\",\"patch_issue\":\"<(ISSUE)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"output_ignored\",\"task_id\":\"<(TASK_ID)\"}",
"-logdog-annotation-url",
"logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"machine_type:n1-highmem-2",
"os:Debian-9.8",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
},
"io_timeout_ns": 3600000000000,
"isolate": "swarm_recipe.isolate",
"max_attempts": 2,
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
"Upload-Test-Win2016-Clang-GCE-CPU-AVX2-x86-Debug-All": {
"caches": [
{