Add Correctness tests for CanvasKit
Also make a CPU only and GPU only build (although
the latter still has a lot of CPU logic).
Bug: skia:
Change-Id: I857c2300021c2adb5344865c28e4ad3e8d332954
Reviewed-on: https://skia-review.googlesource.com/c/162022
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/infra/bots/gen_tasks.go b/infra/bots/gen_tasks.go
index d23283a..e3b8fc9 100644
--- a/infra/bots/gen_tasks.go
+++ b/infra/bots/gen_tasks.go
@@ -333,8 +333,7 @@
return nil
}
-// linuxGceDimensions are the Swarming dimensions for Linux GCE
-// instances.
+// linuxGceDimensions are the Swarming dimensions for Linux GCE instances.
func linuxGceDimensions(machineType string) []string {
return []string{
// Specify CPU to avoid running builds on bots with a more unique CPU.
@@ -347,6 +346,13 @@
}
}
+func wasmGceDimensions() []string {
+ // There's limited parallelism for WASM builds, so we can get away with the medium
+ // instance instead of the beefy large instance.
+ // Docker being intsalled is the most important part.
+ return append(linuxGceDimensions(MACHINE_TYPE_MEDIUM), "docker_installed:true")
+}
+
// deriveCompileTaskName returns the name of a compile task based on the given
// job name.
func deriveCompileTaskName(jobName string, parts map[string]string) string {
@@ -396,7 +402,12 @@
ec = []string{"PathKit"}
}
if strings.Contains(jobName, "CanvasKit") {
- ec = []string{"CanvasKit"}
+ if parts["cpu_or_gpu"] == "CPU" {
+ ec = []string{"CanvasKit_CPU"}
+ } else {
+ ec = []string{"CanvasKit"}
+ }
+
}
if len(ec) > 0 {
jobNameMap["extra_config"] = strings.Join(ec, "_")
@@ -539,7 +550,11 @@
d["machine_type"] = MACHINE_TYPE_MEDIUM
}
} else {
- if strings.Contains(parts["os"], "Win") {
+ if strings.Contains(parts["extra_config"], "CanvasKit") {
+ // GPU is defined for the WebGL version of CanvasKit, but
+ // it can still run on a GCE instance.
+ return wasmGceDimensions()
+ } else if strings.Contains(parts["os"], "Win") {
gpu, ok := map[string]string{
"GT610": "10de:104a-23.21.13.9101",
"GTX660": "10de:11c0-24.21.13.9882",
@@ -606,12 +621,7 @@
d["gpu"] = "none"
if d["os"] == DEFAULT_OS_DEBIAN {
if strings.Contains(parts["extra_config"], "PathKit") || strings.Contains(parts["extra_config"], "CanvasKit") {
- // The build isn't really parallelized for pathkit, so
- // the bulky machines don't buy us much. All we really need is
- // docker, which was manually installed on the MEDIUM and LARGE
- // Debian machines and should be on any newly-created Debian
- // machines (after Aug 2018).
- return linuxGceDimensions(MACHINE_TYPE_MEDIUM)
+ return wasmGceDimensions()
}
if parts["role"] == "BuildStats" {
// Doesn't require a lot of resources
diff --git a/infra/bots/jobs.json b/infra/bots/jobs.json
index 8fd6810..9bebbab 100644
--- a/infra/bots/jobs.json
+++ b/infra/bots/jobs.json
@@ -58,8 +58,10 @@
"Build-Debian9-EMCC-asmjs-Debug-PathKit",
"Build-Debian9-EMCC-asmjs-Release-PathKit",
"Build-Debian9-EMCC-wasm-Debug-CanvasKit",
+ "Build-Debian9-EMCC-wasm-Debug-CanvasKit_CPU",
"Build-Debian9-EMCC-wasm-Debug-PathKit",
"Build-Debian9-EMCC-wasm-Release-CanvasKit",
+ "Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU",
"Build-Debian9-EMCC-wasm-Release-PathKit",
"Build-Debian9-GCC-loongson3a-Debug",
"Build-Debian9-GCC-loongson3a-Release",
@@ -113,6 +115,7 @@
"BuildStats-Debian9-Clang-x86_64-Release-Mini",
"BuildStats-Debian9-EMCC-asmjs-Release-PathKit",
"BuildStats-Debian9-EMCC-wasm-Release-CanvasKit",
+ "BuildStats-Debian9-EMCC-wasm-Release-CanvasKit_CPU",
"BuildStats-Debian9-EMCC-wasm-Release-PathKit",
"Calmbench-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All",
"Calmbench-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Release-All",
@@ -438,8 +441,12 @@
"Test-Debian9-Clang-ShuttleA-GPU-IntelHD2000-x86_64-Release-All",
"Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Debug-All-PathKit",
"Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit",
+ "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-CanvasKit",
"Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit",
+ "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit",
"Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit",
+ "Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Debug-All-CanvasKit",
+ "Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit",
"Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All",
"Test-Debian9-GCC-GCE-CPU-AVX2-x86-Release-All",
"Test-Debian9-GCC-GCE-CPU-AVX2-x86_64-Debug-All",
diff --git a/infra/bots/recipe_modules/build/canvaskit.py b/infra/bots/recipe_modules/build/canvaskit.py
index 12c54d8..ecd7440 100644
--- a/infra/bots/recipe_modules/build/canvaskit.py
+++ b/infra/bots/recipe_modules/build/canvaskit.py
@@ -13,6 +13,7 @@
def compile_fn(api, checkout_root, _ignore):
out_dir = api.vars.cache_dir.join('docker', 'canvaskit')
configuration = api.vars.builder_cfg.get('configuration', '')
+ extra = api.vars.builder_cfg.get('extra_config', '')
# We want to make sure the directories exist and were created by chrome-bot,
# because if that isn't the case, docker will make them and they will be
@@ -34,6 +35,9 @@
cmd = ['docker', 'run', '--rm', '-v', '%s:/SRC' % checkout_root,
'-v', '%s:/OUT' % out_dir,
DOCKER_IMAGE, INNER_BUILD_SCRIPT]
+ if 'CPU' in extra:
+ cmd.append('cpu') # It defaults to gpu
+
if configuration == 'Debug':
cmd.append('debug') # It defaults to Release
api.run(
diff --git a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-EMCC-wasm-Release-CanvasKit.json b/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU.json
similarity index 98%
rename from infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-EMCC-wasm-Release-CanvasKit.json
rename to infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU.json
index 16da363..d32a2a0 100644
--- a/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-EMCC-wasm-Release-CanvasKit.json
+++ b/infra/bots/recipe_modules/build/examples/full.expected/Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU.json
@@ -24,7 +24,8 @@
"-v",
"[START_DIR]/cache/docker/canvaskit:/OUT",
"gcr.io/skia-public/emsdk-release:1.38.6_jre",
- "/SRC/skia/infra/canvaskit/build_canvaskit.sh"
+ "/SRC/skia/infra/canvaskit/build_canvaskit.sh",
+ "cpu"
],
"env": {
"CHROME_HEADLESS": "1",
@@ -37,7 +38,7 @@
"python",
"-u",
"import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products_whitelist = ['bookmaker', 'dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'hello-opencl', 'hello-opencl.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skiaserve', 'lib/*.so', 'run_testlab', 'skqp-universal-debug.apk', 'whitelist_devices.json']\n\ntry:\n os.makedirs(dst)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\nfor pattern in build_products_whitelist:\n path = os.path.join(src, pattern)\n for f in glob.glob(path):\n dst_path = os.path.join(dst, os.path.relpath(f, src))\n if not os.path.isdir(os.path.dirname(dst_path)):\n os.makedirs(os.path.dirname(dst_path))\n print 'Copying build product %s to %s' % (f, dst_path)\n shutil.move(f, dst_path)\n",
- "[START_DIR]/cache/work/skia/out/Build-Debian9-EMCC-wasm-Release-CanvasKit/Release",
+ "[START_DIR]/cache/work/skia/out/Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU/Release",
"[START_DIR]/[SWARM_OUT_DIR]/out/Release"
],
"infra_step": true,
diff --git a/infra/bots/recipe_modules/build/examples/full.py b/infra/bots/recipe_modules/build/examples/full.py
index 4b8bd1b..49610fa 100644
--- a/infra/bots/recipe_modules/build/examples/full.py
+++ b/infra/bots/recipe_modules/build/examples/full.py
@@ -47,7 +47,7 @@
'Build-Debian9-EMCC-asmjs-Release-PathKit',
'Build-Debian9-EMCC-wasm-Debug-CanvasKit',
'Build-Debian9-EMCC-wasm-Debug-PathKit',
- 'Build-Debian9-EMCC-wasm-Release-CanvasKit',
+ 'Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU',
'Build-Debian9-EMCC-wasm-Release-PathKit',
'Build-Debian9-GCC-arm-Release-Chromecast',
'Build-Debian9-GCC-loongson3a-Release',
diff --git a/infra/bots/recipes/perf_pathkit.expected/Perf-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit.json b/infra/bots/recipes/perf_pathkit.expected/Perf-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit.json
index 3cde98b..a9f24b5 100644
--- a/infra/bots/recipes/perf_pathkit.expected/Perf-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit.json
+++ b/infra/bots/recipes/perf_pathkit.expected/Perf-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit.json
@@ -202,7 +202,7 @@
"[START_DIR]/[SWARM_OUT_DIR]:/OUT",
"-e",
"ASM_JS=1",
- "gcr.io/skia-public/perf-karma-chrome-tests:68.0.3440.106_v1",
+ "gcr.io/skia-public/perf-karma-chrome-tests:68.0.3440.106_v6",
"/SRC/skia/infra/pathkit/perf_pathkit.sh",
"--builder",
"Perf-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit",
@@ -218,6 +218,8 @@
"Chrome",
"--config",
"Release",
+ "--source_type",
+ "pathkit",
"--compiled_language",
"asmjs"
],
diff --git a/infra/bots/recipes/perf_pathkit.expected/Perf-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit.json b/infra/bots/recipes/perf_pathkit.expected/Perf-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit.json
index 96ff4a3..c9d09c3 100644
--- a/infra/bots/recipes/perf_pathkit.expected/Perf-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit.json
+++ b/infra/bots/recipes/perf_pathkit.expected/Perf-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit.json
@@ -200,7 +200,7 @@
"[START_DIR]/cache/work:/SRC",
"-v",
"[START_DIR]/[SWARM_OUT_DIR]:/OUT",
- "gcr.io/skia-public/perf-karma-chrome-tests:68.0.3440.106_v1",
+ "gcr.io/skia-public/perf-karma-chrome-tests:68.0.3440.106_v6",
"/SRC/skia/infra/pathkit/perf_pathkit.sh",
"--builder",
"Perf-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit",
@@ -215,7 +215,9 @@
"--browser",
"Chrome",
"--config",
- "Release"
+ "Release",
+ "--source_type",
+ "pathkit"
],
"env": {
"CHROME_HEADLESS": "1",
diff --git a/infra/bots/recipes/perf_pathkit.expected/pathkit_trybot.json b/infra/bots/recipes/perf_pathkit.expected/pathkit_trybot.json
index 82187e6..0b6bbdc 100644
--- a/infra/bots/recipes/perf_pathkit.expected/pathkit_trybot.json
+++ b/infra/bots/recipes/perf_pathkit.expected/pathkit_trybot.json
@@ -202,7 +202,7 @@
"[START_DIR]/cache/work:/SRC",
"-v",
"[START_DIR]/[SWARM_OUT_DIR]:/OUT",
- "gcr.io/skia-public/perf-karma-chrome-tests:68.0.3440.106_v1",
+ "gcr.io/skia-public/perf-karma-chrome-tests:68.0.3440.106_v6",
"/SRC/skia/infra/pathkit/perf_pathkit.sh",
"--builder",
"Perf-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit",
@@ -218,6 +218,8 @@
"Chrome",
"--config",
"Release",
+ "--source_type",
+ "pathkit",
"--issue",
"1234",
"--patchset",
diff --git a/infra/bots/recipes/perf_pathkit.py b/infra/bots/recipes/perf_pathkit.py
index e0c5495..ba1ea93 100644
--- a/infra/bots/recipes/perf_pathkit.py
+++ b/infra/bots/recipes/perf_pathkit.py
@@ -17,7 +17,7 @@
]
-DOCKER_IMAGE = 'gcr.io/skia-public/perf-karma-chrome-tests:68.0.3440.106_v1'
+DOCKER_IMAGE = 'gcr.io/skia-public/perf-karma-chrome-tests:68.0.3440.106_v6'
INNER_KARMA_SCRIPT = '/SRC/skia/infra/pathkit/perf_pathkit.sh'
@@ -105,6 +105,7 @@
'--task_id', api.vars.swarming_task_id,
'--browser', 'Chrome',
'--config', api.vars.configuration,
+ '--source_type', 'pathkit',
])
if 'asmjs' in api.vars.builder_name:
diff --git a/infra/bots/recipes/test_canvaskit.expected/Test-Debian9-EMCC-GCE-GPU-WEBGL1-wasm-Debug-All-CanvasKit.json b/infra/bots/recipes/test_canvaskit.expected/Test-Debian9-EMCC-GCE-GPU-WEBGL1-wasm-Debug-All-CanvasKit.json
new file mode 100644
index 0000000..1f9d196
--- /dev/null
+++ b/infra/bots/recipes/test_canvaskit.expected/Test-Debian9-EMCC-GCE-GPU-WEBGL1-wasm-Debug-All-CanvasKit.json
@@ -0,0 +1,233 @@
+[
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/cache/work"
+ ],
+ "infra_step": true,
+ "name": "makedirs checkout_path"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/cache/work/.gclient_entries"
+ ],
+ "infra_step": true,
+ "name": "remove [START_DIR]/cache/work/.gclient_entries"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
+ "--spec-path",
+ "cache_dir = '[START_DIR]/cache/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]",
+ "--patch_root",
+ "skia",
+ "--revision_mapping_file",
+ "{\"got_revision\": \"skia\"}",
+ "--git-cache-dir",
+ "[START_DIR]/cache/git",
+ "--cleanup-dir",
+ "[CLEANUP]/bot_update",
+ "--output_json",
+ "/path/to/tmp/json",
+ "--revision",
+ "skia@abc123"
+ ],
+ "cwd": "[START_DIR]/cache/work",
+ "env_prefixes": {
+ "PATH": [
+ "RECIPE_PACKAGE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "bot_update",
+ "~followup_annotations": [
+ "@@@STEP_TEXT@Some step text@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"skia\": \"abc123\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/skia.git\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"skia\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"root\": \"skia\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/skia.git\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/[SWARM_OUT_DIR]"
+ ],
+ "infra_step": true,
+ "name": "mkdirs out_dir"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n shutil.rmtree(copy_dest)\nexcept OSError as e:\n if e.errno != errno.ENOENT:\n raise\n\n# Make folder\ntry:\n os.makedirs(copy_dest)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\n# Copy binaries (canvaskit.js and canvaskit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/experimental/canvaskit/canvaskit/bin/)\ndest = os.path.join(copy_dest, 'canvaskit.js')\nshutil.copyfile(os.path.join(base_dir, 'canvaskit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n dest = os.path.join(copy_dest, bundle_name)\n shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
+ "[START_DIR]/cache/work/skia/experimental/canvaskit/canvaskit/bin",
+ "[START_DIR]/build",
+ "canvaskit.wasm",
+ "[START_DIR]/[SWARM_OUT_DIR]"
+ ],
+ "infra_step": true,
+ "name": "Set up for docker",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@python.inline@import errno@@@",
+ "@@@STEP_LOG_LINE@python.inline@import os@@@",
+ "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
+ "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@copy_dest = sys.argv[1]@@@",
+ "@@@STEP_LOG_LINE@python.inline@base_dir = sys.argv[2]@@@",
+ "@@@STEP_LOG_LINE@python.inline@bundle_name = sys.argv[3]@@@",
+ "@@@STEP_LOG_LINE@python.inline@out_dir = sys.argv[4]@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@# Clean out old binaries (if any)@@@",
+ "@@@STEP_LOG_LINE@python.inline@try:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ shutil.rmtree(copy_dest)@@@",
+ "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.ENOENT:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ raise@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@# Make folder@@@",
+ "@@@STEP_LOG_LINE@python.inline@try:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ os.makedirs(copy_dest)@@@",
+ "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ raise@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@# Copy binaries (canvaskit.js and canvaskit.wasm) to where the karma tests@@@",
+ "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/experimental/canvaskit/canvaskit/bin/)@@@",
+ "@@@STEP_LOG_LINE@python.inline@dest = os.path.join(copy_dest, 'canvaskit.js')@@@",
+ "@@@STEP_LOG_LINE@python.inline@shutil.copyfile(os.path.join(base_dir, 'canvaskit.js'), dest)@@@",
+ "@@@STEP_LOG_LINE@python.inline@os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@if bundle_name:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ dest = os.path.join(copy_dest, bundle_name)@@@",
+ "@@@STEP_LOG_LINE@python.inline@ shutil.copyfile(os.path.join(base_dir, bundle_name), dest)@@@",
+ "@@@STEP_LOG_LINE@python.inline@ os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@# Prepare output folder, api.file.ensure_directory doesn't touch@@@",
+ "@@@STEP_LOG_LINE@python.inline@# the permissions of the out directory if it already exists.@@@",
+ "@@@STEP_LOG_LINE@python.inline@os.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.@@@",
+ "@@@STEP_LOG_END@python.inline@@@"
+ ]
+ },
+ {
+ "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": [
+ "docker",
+ "run",
+ "--shm-size=2gb",
+ "--rm",
+ "--volume",
+ "[START_DIR]/cache/work:/SRC",
+ "--volume",
+ "[START_DIR]/[SWARM_OUT_DIR]:/OUT",
+ "gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v6",
+ "/SRC/skia/infra/canvaskit/test_canvaskit.sh",
+ "--builder",
+ "Test-Debian9-EMCC-GCE-GPU-WEBGL1-wasm-Debug-All-CanvasKit",
+ "--git_hash",
+ "abc123",
+ "--buildbucket_build_id",
+ "",
+ "--bot_id",
+ "",
+ "--task_id",
+ "",
+ "--browser",
+ "Chrome",
+ "--config",
+ "Debug",
+ "--source_type",
+ "canvaskit"
+ ],
+ "env": {
+ "CHROME_HEADLESS": "1",
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
+ },
+ "name": "Test CanvasKit with Docker"
+ },
+ {
+ "name": "$result",
+ "recipe_result": null,
+ "status_code": 0
+ }
+]
\ No newline at end of file
diff --git a/infra/bots/recipes/test_canvaskit.expected/canvaskit_trybot.json b/infra/bots/recipes/test_canvaskit.expected/canvaskit_trybot.json
new file mode 100644
index 0000000..e53c271
--- /dev/null
+++ b/infra/bots/recipes/test_canvaskit.expected/canvaskit_trybot.json
@@ -0,0 +1,239 @@
+[
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/cache/work"
+ ],
+ "infra_step": true,
+ "name": "makedirs checkout_path"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "remove",
+ "[START_DIR]/cache/work/.gclient_entries"
+ ],
+ "infra_step": true,
+ "name": "remove [START_DIR]/cache/work/.gclient_entries"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
+ "--spec-path",
+ "cache_dir = '[START_DIR]/cache/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]",
+ "--patch_root",
+ "skia",
+ "--revision_mapping_file",
+ "{\"got_revision\": \"skia\"}",
+ "--git-cache-dir",
+ "[START_DIR]/cache/git",
+ "--cleanup-dir",
+ "[CLEANUP]/bot_update",
+ "--output_json",
+ "/path/to/tmp/json",
+ "--patch_ref",
+ "https://skia.googlesource.com/skia.git@89/456789/12",
+ "--revision",
+ "skia@abc123"
+ ],
+ "cwd": "[START_DIR]/cache/work",
+ "env_prefixes": {
+ "PATH": [
+ "RECIPE_PACKAGE_REPO[depot_tools]"
+ ]
+ },
+ "infra_step": true,
+ "name": "bot_update",
+ "~followup_annotations": [
+ "@@@STEP_TEXT@Some step text@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"skia\": \"abc123\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/skia.git\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"skia\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"root\": \"skia\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/skia.git\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@",
+ "@@@STEP_LOG_LINE@json.output@ }, @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[START_DIR]/[SWARM_OUT_DIR]"
+ ],
+ "infra_step": true,
+ "name": "mkdirs out_dir"
+ },
+ {
+ "cmd": [
+ "python",
+ "-u",
+ "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n shutil.rmtree(copy_dest)\nexcept OSError as e:\n if e.errno != errno.ENOENT:\n raise\n\n# Make folder\ntry:\n os.makedirs(copy_dest)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\n# Copy binaries (canvaskit.js and canvaskit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/experimental/canvaskit/canvaskit/bin/)\ndest = os.path.join(copy_dest, 'canvaskit.js')\nshutil.copyfile(os.path.join(base_dir, 'canvaskit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n dest = os.path.join(copy_dest, bundle_name)\n shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
+ "[START_DIR]/cache/work/skia/experimental/canvaskit/canvaskit/bin",
+ "[START_DIR]/build",
+ "canvaskit.wasm",
+ "[START_DIR]/[SWARM_OUT_DIR]"
+ ],
+ "infra_step": true,
+ "name": "Set up for docker",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@python.inline@import errno@@@",
+ "@@@STEP_LOG_LINE@python.inline@import os@@@",
+ "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
+ "@@@STEP_LOG_LINE@python.inline@import sys@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@copy_dest = sys.argv[1]@@@",
+ "@@@STEP_LOG_LINE@python.inline@base_dir = sys.argv[2]@@@",
+ "@@@STEP_LOG_LINE@python.inline@bundle_name = sys.argv[3]@@@",
+ "@@@STEP_LOG_LINE@python.inline@out_dir = sys.argv[4]@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@# Clean out old binaries (if any)@@@",
+ "@@@STEP_LOG_LINE@python.inline@try:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ shutil.rmtree(copy_dest)@@@",
+ "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.ENOENT:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ raise@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@# Make folder@@@",
+ "@@@STEP_LOG_LINE@python.inline@try:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ os.makedirs(copy_dest)@@@",
+ "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ if e.errno != errno.EEXIST:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ raise@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@# Copy binaries (canvaskit.js and canvaskit.wasm) to where the karma tests@@@",
+ "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/experimental/canvaskit/canvaskit/bin/)@@@",
+ "@@@STEP_LOG_LINE@python.inline@dest = os.path.join(copy_dest, 'canvaskit.js')@@@",
+ "@@@STEP_LOG_LINE@python.inline@shutil.copyfile(os.path.join(base_dir, 'canvaskit.js'), dest)@@@",
+ "@@@STEP_LOG_LINE@python.inline@os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@if bundle_name:@@@",
+ "@@@STEP_LOG_LINE@python.inline@ dest = os.path.join(copy_dest, bundle_name)@@@",
+ "@@@STEP_LOG_LINE@python.inline@ shutil.copyfile(os.path.join(base_dir, bundle_name), dest)@@@",
+ "@@@STEP_LOG_LINE@python.inline@ os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
+ "@@@STEP_LOG_LINE@python.inline@@@@",
+ "@@@STEP_LOG_LINE@python.inline@# Prepare output folder, api.file.ensure_directory doesn't touch@@@",
+ "@@@STEP_LOG_LINE@python.inline@# the permissions of the out directory if it already exists.@@@",
+ "@@@STEP_LOG_LINE@python.inline@os.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.@@@",
+ "@@@STEP_LOG_END@python.inline@@@"
+ ]
+ },
+ {
+ "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": [
+ "docker",
+ "run",
+ "--shm-size=2gb",
+ "--rm",
+ "--volume",
+ "[START_DIR]/cache/work:/SRC",
+ "--volume",
+ "[START_DIR]/[SWARM_OUT_DIR]:/OUT",
+ "gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v6",
+ "/SRC/skia/infra/canvaskit/test_canvaskit.sh",
+ "--builder",
+ "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-CanvasKit",
+ "--git_hash",
+ "abc123",
+ "--buildbucket_build_id",
+ "",
+ "--bot_id",
+ "",
+ "--task_id",
+ "",
+ "--browser",
+ "Chrome",
+ "--config",
+ "Debug",
+ "--source_type",
+ "canvaskit",
+ "--issue",
+ "1234",
+ "--patchset",
+ "7"
+ ],
+ "env": {
+ "CHROME_HEADLESS": "1",
+ "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
+ },
+ "name": "Test CanvasKit with Docker"
+ },
+ {
+ "name": "$result",
+ "recipe_result": null,
+ "status_code": 0
+ }
+]
\ No newline at end of file
diff --git a/infra/bots/recipes/test_canvaskit.py b/infra/bots/recipes/test_canvaskit.py
new file mode 100644
index 0000000..6392f93
--- /dev/null
+++ b/infra/bots/recipes/test_canvaskit.py
@@ -0,0 +1,141 @@
+# Copyright 2018 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.
+
+# Recipe which runs the Canvaskit tests using docker
+
+DEPS = [
+ 'checkout',
+ 'infra',
+ 'recipe_engine/file',
+ 'recipe_engine/path',
+ 'recipe_engine/properties',
+ 'recipe_engine/python',
+ 'recipe_engine/step',
+ 'run',
+ 'vars',
+]
+
+
+DOCKER_IMAGE = 'gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v6'
+INNER_KARMA_SCRIPT = '/SRC/skia/infra/canvaskit/test_canvaskit.sh'
+
+
+def RunSteps(api):
+ api.vars.setup()
+ checkout_root = api.checkout.default_checkout_root
+ out_dir = api.vars.swarming_out_dir
+ api.checkout.bot_update(checkout_root=checkout_root)
+
+ # Make sure this exists, otherwise Docker will make it with root permissions.
+ api.file.ensure_directory('mkdirs out_dir', out_dir, mode=0777)
+
+ # The karma script is configured to look in ./canvaskit/bin/ for
+ # the test files to load, so we must copy them there (see Set up for docker).
+ copy_dest = checkout_root.join('skia', 'experimental', 'canvaskit',
+ 'canvaskit', 'bin')
+
+ base_dir = api.vars.build_dir
+ bundle_name = 'canvaskit.wasm'
+
+ api.python.inline(
+ name='Set up for docker',
+ program='''import errno
+import os
+import shutil
+import sys
+
+copy_dest = sys.argv[1]
+base_dir = sys.argv[2]
+bundle_name = sys.argv[3]
+out_dir = sys.argv[4]
+
+# Clean out old binaries (if any)
+try:
+ shutil.rmtree(copy_dest)
+except OSError as e:
+ if e.errno != errno.ENOENT:
+ raise
+
+# Make folder
+try:
+ os.makedirs(copy_dest)
+except OSError as e:
+ if e.errno != errno.EEXIST:
+ raise
+
+# Copy binaries (canvaskit.js and canvaskit.wasm) to where the karma tests
+# expect them ($SKIA_ROOT/experimental/canvaskit/canvaskit/bin/)
+dest = os.path.join(copy_dest, 'canvaskit.js')
+shutil.copyfile(os.path.join(base_dir, 'canvaskit.js'), dest)
+os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.
+
+if bundle_name:
+ dest = os.path.join(copy_dest, bundle_name)
+ shutil.copyfile(os.path.join(base_dir, bundle_name), dest)
+ os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.
+
+# Prepare output folder, api.file.ensure_directory doesn't touch
+# the permissions of the out directory if it already exists.
+os.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.
+''',
+ args=[copy_dest, base_dir, bundle_name, out_dir],
+ infra_step=True)
+
+
+ cmd = ['docker', 'run', '--shm-size=2gb', '--rm',
+ '--volume', '%s:/SRC' % checkout_root,
+ '--volume', '%s:/OUT' % out_dir]
+
+ cmd.extend([
+ DOCKER_IMAGE, INNER_KARMA_SCRIPT,
+ '--builder', api.vars.builder_name,
+ '--git_hash', api.properties['revision'],
+ '--buildbucket_build_id', api.properties.get('buildbucket_build_id',
+ ''),
+ '--bot_id', api.vars.swarming_bot_id,
+ '--task_id', api.vars.swarming_task_id,
+ '--browser', 'Chrome',
+ '--config', api.vars.configuration,
+ '--source_type', 'canvaskit',
+ ])
+
+ if api.vars.is_trybot:
+ cmd.extend([
+ '--issue', api.vars.issue,
+ '--patchset', api.vars.patchset,
+ ])
+
+ api.run(
+ api.step,
+ 'Test CanvasKit with Docker',
+ cmd=cmd)
+
+
+def GenTests(api):
+ yield (
+ api.test('Test-Debian9-EMCC-GCE-GPU-WEBGL1-wasm-Debug-All-CanvasKit') +
+ api.properties(buildername=('Test-Debian9-EMCC-GCE-GPU-WEBGL1'
+ '-wasm-Debug-All-CanvasKit'),
+ repository='https://skia.googlesource.com/skia.git',
+ revision='abc123',
+ path_config='kitchen',
+ swarm_out_dir='[SWARM_OUT_DIR]')
+ )
+
+ yield (
+ api.test('canvaskit_trybot') +
+ api.properties(buildername=('Test-Debian9-EMCC-GCE-CPU-AVX2'
+ '-wasm-Debug-All-CanvasKit'),
+ repository='https://skia.googlesource.com/skia.git',
+ revision='abc123',
+ path_config='kitchen',
+ swarm_out_dir='[SWARM_OUT_DIR]',
+ patch_ref='89/456789/12',
+ patch_repo='https://skia.googlesource.com/skia.git',
+ patch_storage='gerrit',
+ patch_set=7,
+ patch_issue=1234,
+ gerrit_project='skia',
+ gerrit_url='https://skia-review.googlesource.com/')
+ )
diff --git a/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Debug-All-PathKit.json b/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Debug-All-PathKit.json
index 9616168..cce3441 100644
--- a/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Debug-All-PathKit.json
+++ b/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Debug-All-PathKit.json
@@ -112,7 +112,7 @@
"cmd": [
"python",
"-u",
- "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n shutil.rmtree(copy_dest)\nexcept OSError as e:\n if e.errno != errno.ENOENT:\n raise\n\n# Make folder\ntry:\n os.makedirs(copy_dest)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\n# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/test/)\ndest = os.path.join(copy_dest, 'pathkit.js')\nshutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n dest = os.path.join(copy_dest, bundle_name)\n shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
+ "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n shutil.rmtree(copy_dest)\nexcept OSError as e:\n if e.errno != errno.ENOENT:\n raise\n\n# Make folder\ntry:\n os.makedirs(copy_dest)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\n# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/test/)\ndest = os.path.join(copy_dest, 'pathkit.js')\nshutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n dest = os.path.join(copy_dest, bundle_name)\n shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
"[START_DIR]/cache/work/skia/modules/pathkit/npm-asmjs/bin/test",
"[START_DIR]/build",
"",
@@ -146,7 +146,7 @@
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests@@@",
- "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/test/)@@@",
+ "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/test/)@@@",
"@@@STEP_LOG_LINE@python.inline@dest = os.path.join(copy_dest, 'pathkit.js')@@@",
"@@@STEP_LOG_LINE@python.inline@shutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)@@@",
"@@@STEP_LOG_LINE@python.inline@os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
@@ -196,13 +196,13 @@
"run",
"--shm-size=2gb",
"--rm",
- "-v",
+ "--volume",
"[START_DIR]/cache/work:/SRC",
- "-v",
+ "--volume",
"[START_DIR]/[SWARM_OUT_DIR]:/OUT",
- "-e",
+ "--env",
"ASM_JS=1",
- "gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v5",
+ "gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v6",
"/SRC/skia/infra/pathkit/test_pathkit.sh",
"--builder",
"Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Debug-All-PathKit",
@@ -218,6 +218,8 @@
"Chrome",
"--config",
"Debug",
+ "--source_type",
+ "pathkit",
"--compiled_language",
"asmjs"
],
diff --git a/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit.json b/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit.json
index 6683e7a..d13a691 100644
--- a/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit.json
+++ b/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit.json
@@ -112,7 +112,7 @@
"cmd": [
"python",
"-u",
- "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n shutil.rmtree(copy_dest)\nexcept OSError as e:\n if e.errno != errno.ENOENT:\n raise\n\n# Make folder\ntry:\n os.makedirs(copy_dest)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\n# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/test/)\ndest = os.path.join(copy_dest, 'pathkit.js')\nshutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n dest = os.path.join(copy_dest, bundle_name)\n shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
+ "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n shutil.rmtree(copy_dest)\nexcept OSError as e:\n if e.errno != errno.ENOENT:\n raise\n\n# Make folder\ntry:\n os.makedirs(copy_dest)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\n# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/test/)\ndest = os.path.join(copy_dest, 'pathkit.js')\nshutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n dest = os.path.join(copy_dest, bundle_name)\n shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
"[START_DIR]/cache/work/skia/modules/pathkit/npm-asmjs/bin/test",
"[START_DIR]/build",
"pathkit.js.mem",
@@ -146,7 +146,7 @@
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests@@@",
- "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/test/)@@@",
+ "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/test/)@@@",
"@@@STEP_LOG_LINE@python.inline@dest = os.path.join(copy_dest, 'pathkit.js')@@@",
"@@@STEP_LOG_LINE@python.inline@shutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)@@@",
"@@@STEP_LOG_LINE@python.inline@os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
@@ -196,13 +196,13 @@
"run",
"--shm-size=2gb",
"--rm",
- "-v",
+ "--volume",
"[START_DIR]/cache/work:/SRC",
- "-v",
+ "--volume",
"[START_DIR]/[SWARM_OUT_DIR]:/OUT",
- "-e",
+ "--env",
"ASM_JS=1",
- "gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v5",
+ "gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v6",
"/SRC/skia/infra/pathkit/test_pathkit.sh",
"--builder",
"Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit",
@@ -218,6 +218,8 @@
"Chrome",
"--config",
"Release",
+ "--source_type",
+ "pathkit",
"--compiled_language",
"asmjs"
],
diff --git a/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit.json b/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit.json
index 66856ee..dd0c494 100644
--- a/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit.json
+++ b/infra/bots/recipes/test_pathkit.expected/Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit.json
@@ -112,7 +112,7 @@
"cmd": [
"python",
"-u",
- "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n shutil.rmtree(copy_dest)\nexcept OSError as e:\n if e.errno != errno.ENOENT:\n raise\n\n# Make folder\ntry:\n os.makedirs(copy_dest)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\n# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/test/)\ndest = os.path.join(copy_dest, 'pathkit.js')\nshutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n dest = os.path.join(copy_dest, bundle_name)\n shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
+ "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n shutil.rmtree(copy_dest)\nexcept OSError as e:\n if e.errno != errno.ENOENT:\n raise\n\n# Make folder\ntry:\n os.makedirs(copy_dest)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\n# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/test/)\ndest = os.path.join(copy_dest, 'pathkit.js')\nshutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n dest = os.path.join(copy_dest, bundle_name)\n shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
"[START_DIR]/cache/work/skia/modules/pathkit/npm-wasm/bin/test",
"[START_DIR]/build",
"pathkit.wasm",
@@ -146,7 +146,7 @@
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests@@@",
- "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/test/)@@@",
+ "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/test/)@@@",
"@@@STEP_LOG_LINE@python.inline@dest = os.path.join(copy_dest, 'pathkit.js')@@@",
"@@@STEP_LOG_LINE@python.inline@shutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)@@@",
"@@@STEP_LOG_LINE@python.inline@os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
@@ -196,11 +196,11 @@
"run",
"--shm-size=2gb",
"--rm",
- "-v",
+ "--volume",
"[START_DIR]/cache/work:/SRC",
- "-v",
+ "--volume",
"[START_DIR]/[SWARM_OUT_DIR]:/OUT",
- "gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v5",
+ "gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v6",
"/SRC/skia/infra/pathkit/test_pathkit.sh",
"--builder",
"Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit",
@@ -215,7 +215,9 @@
"--browser",
"Chrome",
"--config",
- "Debug"
+ "Debug",
+ "--source_type",
+ "pathkit"
],
"env": {
"CHROME_HEADLESS": "1",
diff --git a/infra/bots/recipes/test_pathkit.expected/pathkit_trybot.json b/infra/bots/recipes/test_pathkit.expected/pathkit_trybot.json
index 7fdea5f..a1c1f6c 100644
--- a/infra/bots/recipes/test_pathkit.expected/pathkit_trybot.json
+++ b/infra/bots/recipes/test_pathkit.expected/pathkit_trybot.json
@@ -114,7 +114,7 @@
"cmd": [
"python",
"-u",
- "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n shutil.rmtree(copy_dest)\nexcept OSError as e:\n if e.errno != errno.ENOENT:\n raise\n\n# Make folder\ntry:\n os.makedirs(copy_dest)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\n# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/test/)\ndest = os.path.join(copy_dest, 'pathkit.js')\nshutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n dest = os.path.join(copy_dest, bundle_name)\n shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
+ "import errno\nimport os\nimport shutil\nimport sys\n\ncopy_dest = sys.argv[1]\nbase_dir = sys.argv[2]\nbundle_name = sys.argv[3]\nout_dir = sys.argv[4]\n\n# Clean out old binaries (if any)\ntry:\n shutil.rmtree(copy_dest)\nexcept OSError as e:\n if e.errno != errno.ENOENT:\n raise\n\n# Make folder\ntry:\n os.makedirs(copy_dest)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\n# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests\n# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/test/)\ndest = os.path.join(copy_dest, 'pathkit.js')\nshutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)\nos.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\nif bundle_name:\n dest = os.path.join(copy_dest, bundle_name)\n shutil.copyfile(os.path.join(base_dir, bundle_name), dest)\n os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.\n\n# Prepare output folder, api.file.ensure_directory doesn't touch\n# the permissions of the out directory if it already exists.\nos.chmod(out_dir, 0o777) # important, otherwise non-privileged docker can't write.\n",
"[START_DIR]/cache/work/skia/modules/pathkit/npm-wasm/bin/test",
"[START_DIR]/build",
"pathkit.wasm",
@@ -148,7 +148,7 @@
"@@@STEP_LOG_LINE@python.inline@ raise@@@",
"@@@STEP_LOG_LINE@python.inline@@@@",
"@@@STEP_LOG_LINE@python.inline@# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests@@@",
- "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/test/)@@@",
+ "@@@STEP_LOG_LINE@python.inline@# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/test/)@@@",
"@@@STEP_LOG_LINE@python.inline@dest = os.path.join(copy_dest, 'pathkit.js')@@@",
"@@@STEP_LOG_LINE@python.inline@shutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)@@@",
"@@@STEP_LOG_LINE@python.inline@os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.@@@",
@@ -198,11 +198,11 @@
"run",
"--shm-size=2gb",
"--rm",
- "-v",
+ "--volume",
"[START_DIR]/cache/work:/SRC",
- "-v",
+ "--volume",
"[START_DIR]/[SWARM_OUT_DIR]:/OUT",
- "gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v5",
+ "gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v6",
"/SRC/skia/infra/pathkit/test_pathkit.sh",
"--builder",
"Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit",
@@ -218,6 +218,8 @@
"Chrome",
"--config",
"Debug",
+ "--source_type",
+ "pathkit",
"--issue",
"1234",
"--patchset",
diff --git a/infra/bots/recipes/test_pathkit.py b/infra/bots/recipes/test_pathkit.py
index 6bfd687..2d3ba87 100644
--- a/infra/bots/recipes/test_pathkit.py
+++ b/infra/bots/recipes/test_pathkit.py
@@ -17,7 +17,7 @@
]
-DOCKER_IMAGE = 'gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v5'
+DOCKER_IMAGE = 'gcr.io/skia-public/gold-karma-chrome-tests:68.0.3440.106_v6'
INNER_KARMA_SCRIPT = '/SRC/skia/infra/pathkit/test_pathkit.sh'
@@ -33,10 +33,10 @@
# The karma script is configured to look in ./npm-(asmjs|wasm)/bin/test/ for
# the test files to load, so we must copy them there (see Set up for docker).
copy_dest = checkout_root.join('skia', 'modules', 'pathkit',
- 'npm-wasm', 'bin', 'test')
+ 'npm-wasm', 'bin', 'test')
if 'asmjs' in api.vars.builder_name:
copy_dest = checkout_root.join('skia', 'modules', 'pathkit',
- 'npm-asmjs', 'bin', 'test')
+ 'npm-asmjs', 'bin', 'test')
base_dir = api.vars.build_dir
bundle_name = 'pathkit.wasm'
@@ -75,7 +75,7 @@
raise
# Copy binaries (pathkit.js and pathkit.wasm) to where the karma tests
-# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/test/)
+# expect them ($SKIA_ROOT/modules/pathkit/npm-wasm/bin/test/)
dest = os.path.join(copy_dest, 'pathkit.js')
shutil.copyfile(os.path.join(base_dir, 'pathkit.js'), dest)
os.chmod(dest, 0o644) # important, otherwise non-privileged docker can't read.
@@ -93,24 +93,25 @@
infra_step=True)
-
cmd = ['docker', 'run', '--shm-size=2gb', '--rm',
- '-v', '%s:/SRC' % checkout_root, '-v', '%s:/OUT' % out_dir]
+ '--volume', '%s:/SRC' % checkout_root,
+ '--volume', '%s:/OUT' % out_dir]
if 'asmjs' in api.vars.builder_name:
- cmd.extend(['-e', 'ASM_JS=1']) # -e sets environment variables
+ cmd.extend(['--env', 'ASM_JS=1'])
cmd.extend([
- DOCKER_IMAGE, INNER_KARMA_SCRIPT,
- '--builder', api.vars.builder_name,
- '--git_hash', api.properties['revision'],
- '--buildbucket_build_id', api.properties.get('buildbucket_build_id',
- ''),
- '--bot_id', api.vars.swarming_bot_id,
- '--task_id', api.vars.swarming_task_id,
- '--browser', 'Chrome',
- '--config', api.vars.configuration,
- ])
+ DOCKER_IMAGE, INNER_KARMA_SCRIPT,
+ '--builder', api.vars.builder_name,
+ '--git_hash', api.properties['revision'],
+ '--buildbucket_build_id', api.properties.get('buildbucket_build_id',
+ ''),
+ '--bot_id', api.vars.swarming_bot_id,
+ '--task_id', api.vars.swarming_task_id,
+ '--browser', 'Chrome',
+ '--config', api.vars.configuration,
+ '--source_type', 'pathkit',
+ ])
if 'asmjs' in api.vars.builder_name:
cmd.extend(['--compiled_language', 'asmjs']) # the default is wasm
diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json
index 7a6405c..2e522db 100755
--- a/infra/bots/tasks.json
+++ b/infra/bots/tasks.json
@@ -297,6 +297,11 @@
"Build-Debian9-EMCC-wasm-Debug-CanvasKit"
]
},
+ "Build-Debian9-EMCC-wasm-Debug-CanvasKit_CPU": {
+ "tasks": [
+ "Build-Debian9-EMCC-wasm-Debug-CanvasKit_CPU"
+ ]
+ },
"Build-Debian9-EMCC-wasm-Debug-PathKit": {
"tasks": [
"Build-Debian9-EMCC-wasm-Debug-PathKit"
@@ -307,6 +312,11 @@
"Build-Debian9-EMCC-wasm-Release-CanvasKit"
]
},
+ "Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU": {
+ "tasks": [
+ "Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU"
+ ]
+ },
"Build-Debian9-EMCC-wasm-Release-PathKit": {
"tasks": [
"Build-Debian9-EMCC-wasm-Release-PathKit"
@@ -575,6 +585,11 @@
"Upload-BuildStats-Debian9-EMCC-wasm-Release-CanvasKit"
]
},
+ "BuildStats-Debian9-EMCC-wasm-Release-CanvasKit_CPU": {
+ "tasks": [
+ "Upload-BuildStats-Debian9-EMCC-wasm-Release-CanvasKit_CPU"
+ ]
+ },
"BuildStats-Debian9-EMCC-wasm-Release-PathKit": {
"tasks": [
"Upload-BuildStats-Debian9-EMCC-wasm-Release-PathKit"
@@ -2210,16 +2225,36 @@
"Upload-Test-Debian9-EMCC-GCE-CPU-AVX2-asmjs-Release-All-PathKit"
]
},
+ "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-CanvasKit": {
+ "tasks": [
+ "Upload-Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-CanvasKit"
+ ]
+ },
"Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit": {
"tasks": [
"Upload-Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit"
]
},
+ "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit": {
+ "tasks": [
+ "Upload-Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit"
+ ]
+ },
"Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit": {
"tasks": [
"Upload-Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit"
]
},
+ "Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Debug-All-CanvasKit": {
+ "tasks": [
+ "Upload-Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Debug-All-CanvasKit"
+ ]
+ },
+ "Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit": {
+ "tasks": [
+ "Upload-Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit"
+ ]
+ },
"Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All": {
"tasks": [
"Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All"
@@ -10221,7 +10256,8 @@
"gpu:none",
"machine_type:n1-standard-16",
"os:Debian-9.4",
- "pool:Skia"
+ "pool:Skia",
+ "docker_installed:true"
],
"env_prefixes": {
"PATH": [
@@ -10349,7 +10385,8 @@
"gpu:none",
"machine_type:n1-standard-16",
"os:Debian-9.4",
- "pool:Skia"
+ "pool:Skia",
+ "docker_installed:true"
],
"env_prefixes": {
"PATH": [
@@ -10477,7 +10514,137 @@
"gpu:none",
"machine_type:n1-standard-16",
"os:Debian-9.4",
- "pool:Skia"
+ "pool:Skia",
+ "docker_installed:true"
+ ],
+ "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": 1,
+ "outputs": [
+ "build"
+ ],
+ "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
+ },
+ "Build-Debian9-EMCC-wasm-Debug-CanvasKit_CPU": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ },
+ {
+ "name": "git",
+ "path": "cache/git"
+ },
+ {
+ "name": "git_cache",
+ "path": "cache/git_cache"
+ },
+ {
+ "name": "work",
+ "path": "cache/work"
+ },
+ {
+ "name": "docker",
+ "path": "cache/docker"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ },
+ {
+ "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:0ae21738597e5601ba90372315145fec18582fc4"
+ },
+ {
+ "name": "infra/tools/luci/git-credential-luci/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ }
+ ],
+ "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-Debian9-EMCC-wasm-Debug-CanvasKit_CPU\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-standard-16",
+ "os:Debian-9.4",
+ "pool:Skia",
+ "docker_installed:true"
],
"env_prefixes": {
"PATH": [
@@ -10605,7 +10772,8 @@
"gpu:none",
"machine_type:n1-standard-16",
"os:Debian-9.4",
- "pool:Skia"
+ "pool:Skia",
+ "docker_installed:true"
],
"env_prefixes": {
"PATH": [
@@ -10733,7 +10901,137 @@
"gpu:none",
"machine_type:n1-standard-16",
"os:Debian-9.4",
- "pool:Skia"
+ "pool:Skia",
+ "docker_installed:true"
+ ],
+ "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": 1,
+ "outputs": [
+ "build"
+ ],
+ "service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
+ },
+ "Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ },
+ {
+ "name": "git",
+ "path": "cache/git"
+ },
+ {
+ "name": "git_cache",
+ "path": "cache/git_cache"
+ },
+ {
+ "name": "work",
+ "path": "cache/work"
+ },
+ {
+ "name": "docker",
+ "path": "cache/docker"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ },
+ {
+ "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:0ae21738597e5601ba90372315145fec18582fc4"
+ },
+ {
+ "name": "infra/tools/luci/git-credential-luci/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ }
+ ],
+ "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-Debian9-EMCC-wasm-Release-CanvasKit_CPU\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-standard-16",
+ "os:Debian-9.4",
+ "pool:Skia",
+ "docker_installed:true"
],
"env_prefixes": {
"PATH": [
@@ -10861,7 +11159,8 @@
"gpu:none",
"machine_type:n1-standard-16",
"os:Debian-9.4",
- "pool:Skia"
+ "pool:Skia",
+ "docker_installed:true"
],
"env_prefixes": {
"PATH": [
@@ -17486,7 +17785,8 @@
"gpu:none",
"machine_type:n1-standard-16",
"os:Debian-9.4",
- "pool:Skia"
+ "pool:Skia",
+ "docker_installed:true"
],
"env_prefixes": {
"PATH": [
@@ -17587,7 +17887,110 @@
"gpu:none",
"machine_type:n1-standard-16",
"os:Debian-9.4",
- "pool:Skia"
+ "pool:Skia",
+ "docker_installed:true"
+ ],
+ "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",
+ "outputs": [
+ "perf"
+ ]
+ },
+ "BuildStats-Debian9-EMCC-wasm-Release-CanvasKit_CPU": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ },
+ {
+ "name": "skia/bots/bloaty",
+ "path": "bloaty",
+ "version": "version:0"
+ }
+ ],
+ "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",
+ "compute_buildstats",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"BuildStats-Debian9-EMCC-wasm-Release-CanvasKit_CPU\",\"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\":\"perf\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-standard-16",
+ "os:Debian-9.4",
+ "pool:Skia",
+ "docker_installed:true"
],
"env_prefixes": {
"PATH": [
@@ -17688,7 +18091,8 @@
"gpu:none",
"machine_type:n1-standard-16",
"os:Debian-9.4",
- "pool:Skia"
+ "pool:Skia",
+ "docker_installed:true"
],
"env_prefixes": {
"PATH": [
@@ -52257,6 +52661,103 @@
"test"
]
},
+ "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-CanvasKit": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ }
+ ],
+ "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_canvaskit",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-CanvasKit\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Build-Debian9-EMCC-wasm-Debug-CanvasKit_CPU"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "machine_type:n1-standard-16",
+ "os:Debian-9.4",
+ "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": "swarm_recipe.isolate",
+ "max_attempts": 1,
+ "outputs": [
+ "test"
+ ]
+ },
"Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit": {
"caches": [
{
@@ -52354,6 +52855,103 @@
"test"
]
},
+ "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ }
+ ],
+ "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_canvaskit",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "machine_type:n1-standard-16",
+ "os:Debian-9.4",
+ "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": "swarm_recipe.isolate",
+ "max_attempts": 1,
+ "outputs": [
+ "test"
+ ]
+ },
"Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit": {
"caches": [
{
@@ -52451,6 +53049,204 @@
"test"
]
},
+ "Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Debug-All-CanvasKit": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ }
+ ],
+ "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_canvaskit",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Debug-All-CanvasKit\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Build-Debian9-EMCC-wasm-Debug-CanvasKit"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-standard-16",
+ "os:Debian-9.4",
+ "pool:Skia",
+ "docker_installed:true"
+ ],
+ "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": "swarm_recipe.isolate",
+ "max_attempts": 1,
+ "outputs": [
+ "test"
+ ]
+ },
+ "Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ }
+ ],
+ "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_canvaskit",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Build-Debian9-EMCC-wasm-Release-CanvasKit"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-standard-16",
+ "os:Debian-9.4",
+ "pool:Skia",
+ "docker_installed:true"
+ ],
+ "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": "swarm_recipe.isolate",
+ "max_attempts": 1,
+ "outputs": [
+ "test"
+ ]
+ },
"Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All": {
"caches": [
{
@@ -69251,6 +70047,105 @@
"isolate": "swarm_recipe.isolate",
"service_account": "skia-external-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
+ "Upload-BuildStats-Debian9-EMCC-wasm-Release-CanvasKit_CPU": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ },
+ {
+ "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_buildstats_results",
+ "-properties",
+ "{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"BuildStats-Debian9-EMCC-wasm-Release-CanvasKit_CPU\",\"gs_bucket\":\"skia-perf\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "BuildStats-Debian9-EMCC-wasm-Release-CanvasKit_CPU"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-highmem-2",
+ "os:Debian-9.4",
+ "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",
+ "service_account": "skia-external-nano-uploader@skia-swarming-bots.iam.gserviceaccount.com"
+ },
"Upload-BuildStats-Debian9-EMCC-wasm-Release-PathKit": {
"caches": [
{
@@ -89399,6 +90294,105 @@
"isolate": "swarm_recipe.isolate",
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
+ "Upload-Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-CanvasKit": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ },
+ {
+ "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-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-CanvasKit\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-CanvasKit"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-highmem-2",
+ "os:Debian-9.4",
+ "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",
+ "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
+ },
"Upload-Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Debug-All-PathKit": {
"caches": [
{
@@ -89498,6 +90492,105 @@
"isolate": "swarm_recipe.isolate",
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
+ "Upload-Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ },
+ {
+ "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-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-CanvasKit"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-highmem-2",
+ "os:Debian-9.4",
+ "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",
+ "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
+ },
"Upload-Test-Debian9-EMCC-GCE-CPU-AVX2-wasm-Release-All-PathKit": {
"caches": [
{
@@ -89597,6 +90690,204 @@
"isolate": "swarm_recipe.isolate",
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
},
+ "Upload-Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Debug-All-CanvasKit": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ },
+ {
+ "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-Debian9-EMCC-GCE-GPU-AVX2-wasm-Debug-All-CanvasKit\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Debug-All-CanvasKit"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-highmem-2",
+ "os:Debian-9.4",
+ "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",
+ "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
+ },
+ "Upload-Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit": {
+ "caches": [
+ {
+ "name": "vpython",
+ "path": "cache/vpython"
+ }
+ ],
+ "cipd_packages": [
+ {
+ "name": "infra/tools/luci/kitchen/${platform}",
+ "path": ".",
+ "version": "git_revision:546aae39f1fb9dce9add528e2011afa574535ecd"
+ },
+ {
+ "name": "infra/tools/luci-auth/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:e1abc57be62d198b5c2f487bfb2fa2d2eb0e867c"
+ },
+ {
+ "name": "infra/tools/luci/vpython/${platform}",
+ "path": "cipd_bin_packages",
+ "version": "git_revision:b6cdec8586c9f8d3d728b1bc0bd4331330ba66fc"
+ },
+ {
+ "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-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit\",\"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\"}",
+ "-logdog-annotation-url",
+ "logdog://logs.chromium.org/skia/<(TASK_ID)/+/annotations"
+ ],
+ "dependencies": [
+ "Housekeeper-PerCommit-BundleRecipes",
+ "Test-Debian9-EMCC-GCE-GPU-AVX2-wasm-Release-All-CanvasKit"
+ ],
+ "dimensions": [
+ "cpu:x86-64-Haswell_GCE",
+ "gpu:none",
+ "machine_type:n1-highmem-2",
+ "os:Debian-9.4",
+ "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",
+ "service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
+ },
"Upload-Test-Debian9-GCC-GCE-CPU-AVX2-x86-Debug-All": {
"caches": [
{