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:
parent
e71641479c
commit
1875353110
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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"
|
||||
}
|
||||
]
|
@ -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.
|
||||
|
61
infra/bots/recipe_modules/flavor/resources/win_ssh_cmd.py
Normal file
61
infra/bots/recipe_modules/flavor/resources/win_ssh_cmd.py
Normal 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)
|
122
infra/bots/recipe_modules/flavor/win_ssh.py
Normal file
122
infra/bots/recipe_modules/flavor/win_ssh.py
Normal 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)
|
@ -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"
|
||||
}
|
||||
]
|
@ -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:
|
||||
|
@ -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": [
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user