Add Android HWAddress Sanitizer tasks.
Design doc: http://go/skia-android-hwasan. This CL defines the following tasks: - Build-Debian10-Clang-arm64-Debug-Android_HWASAN - Test-Android-Clang-Pixel4a-CPU-Snapdragon730G-arm64-Debug-All-Android_HWASAN - Test-Android-Clang-Pixel4a-GPU-Adreno618-arm64-Debug-All-Android_HWASAN The HWAddress Sanitizer is only available on 64-bit Arm devices, and requires Android 10+ built with HWAddress Sanitizer support. There are prebuilt HWASan images for supported Pixel devices at https://ci.android.com (instructions at https://developer.android.com/ndk/guides/hwasan). To support these tasks, we added two Pixel 4a devices to the tree, flashed with the corresponding prebuilt HWASan image. The specific Pixel devices were chosen based on stock availability. See patchset 11 for an example error I introduced in //gm/3d.cpp, which was caught by the HWAddress Sanitizer. Bug: skia:12099 Change-Id: Ic3847abc61c8a1bf686d29b97ef9d89b9bb5eb86 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/436572 Reviewed-by: Joe Gregorio <jcgregorio@google.com> Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
This commit is contained in:
parent
bb553eda93
commit
b34e97b5d9
@ -294,6 +294,8 @@ config("default") {
|
||||
# TODO(mtklein): work out UBSAN link errors
|
||||
sanitizers = "address"
|
||||
}
|
||||
} else if (sanitize == "HWASAN") {
|
||||
sanitizers = "hwaddress"
|
||||
} else if (sanitize == "TSAN") {
|
||||
sanitizers = "thread"
|
||||
} else if (sanitize == "MSAN") {
|
||||
|
@ -599,7 +599,7 @@ func (b *taskBuilder) kitchenTaskNoBundle(recipe string, outputDir string) {
|
||||
}
|
||||
|
||||
// Attempts.
|
||||
if !b.role("Build", "Upload") && b.extraConfig("ASAN", "MSAN", "TSAN", "Valgrind") {
|
||||
if !b.role("Build", "Upload") && b.extraConfig("ASAN", "HWASAN", "MSAN", "TSAN", "Valgrind") {
|
||||
// Sanitizers often find non-deterministic issues that retries would hide.
|
||||
b.attempts(1)
|
||||
} else {
|
||||
@ -794,6 +794,7 @@ func (b *taskBuilder) defaultSwarmDimensions() {
|
||||
"Pixel3": {"blueline", "PQ1A.190105.004"},
|
||||
"Pixel3a": {"sargo", "QP1A.190711.020"},
|
||||
"Pixel4": {"flame", "RPB2.200611.009"}, // R Preview
|
||||
"Pixel4a": {"sunfish", "AOSP.MASTER_7819821"}, // Pixel4a flashed with an Android HWASan build.
|
||||
"Pixel4XL": {"coral", "QD1A.190821.011.C4"},
|
||||
"Pixel5": {"redfin", "RD1A.200810.022.A4"},
|
||||
"TecnoSpark3Pro": {"TECNO-KB8", "PPR1.180610.011"},
|
||||
@ -803,6 +804,12 @@ func (b *taskBuilder) defaultSwarmDimensions() {
|
||||
}
|
||||
d["device_type"] = deviceInfo[0]
|
||||
d["device_os"] = deviceInfo[1]
|
||||
|
||||
// Tests using Android's HWAddress Sanitizer require an HWASan build of Android.
|
||||
// See https://developer.android.com/ndk/guides/hwasan.
|
||||
if b.extraConfig("HWASAN") {
|
||||
d["android_hwasan_build"] = "1"
|
||||
}
|
||||
} else if b.os("iOS") {
|
||||
device, ok := map[string]string{
|
||||
"iPadMini4": "iPad5,1",
|
||||
|
@ -30,6 +30,7 @@
|
||||
{"name": "Build-Debian10-Clang-arm64-Debug-Android_API30"},
|
||||
{"name": "Build-Debian10-Clang-arm64-Debug-Android_ASAN"},
|
||||
{"name": "Build-Debian10-Clang-arm64-Debug-Android_ASAN_Vulkan"},
|
||||
{"name": "Build-Debian10-Clang-arm64-Debug-Android_HWASAN"},
|
||||
{"name": "Build-Debian10-Clang-arm64-Debug-Android_Vulkan"},
|
||||
{"name": "Build-Debian10-Clang-arm64-Release-Android"},
|
||||
{"name": "Build-Debian10-Clang-arm64-Release-Android_API30"},
|
||||
@ -428,6 +429,8 @@
|
||||
{"name": "Test-Android-Clang-Pixel4XL-GPU-Adreno640-arm64-Debug-All-Android_Vulkan"},
|
||||
{"name": "Test-Android-Clang-Pixel4XL-GPU-Adreno640-arm64-Release-All-Android"},
|
||||
{"name": "Test-Android-Clang-Pixel4XL-GPU-Adreno640-arm64-Release-All-Android_Vulkan"},
|
||||
{"name": "Test-Android-Clang-Pixel4a-CPU-Snapdragon730G-arm64-Debug-All-Android_HWASAN"},
|
||||
{"name": "Test-Android-Clang-Pixel4a-GPU-Adreno618-arm64-Debug-All-Android_HWASAN"},
|
||||
{"name": "Test-Android-Clang-Pixel5-GPU-Adreno620-arm64-Release-All-Android"},
|
||||
{"name": "Test-Android-Clang-Pixel5-GPU-Adreno620-arm64-Debug-All-Android"},
|
||||
{"name": "Test-Android-Clang-Pixel5-GPU-Adreno620-arm64-Release-All-Android_Vulkan"},
|
||||
|
@ -47,6 +47,8 @@ def compile_fn(api, checkout_root, out_dir):
|
||||
args['skia_use_gl'] = 'false'
|
||||
if 'ASAN' in extra_tokens:
|
||||
args['sanitize'] = '"ASAN"'
|
||||
if 'HWASAN' in extra_tokens:
|
||||
args['sanitize'] = '"HWASAN"'
|
||||
if 'Wuffs' in extra_tokens:
|
||||
args['skia_use_wuffs'] = 'true'
|
||||
|
||||
|
@ -0,0 +1,102 @@
|
||||
[
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"copy",
|
||||
"[START_DIR]/cache/work/skia/infra/bots/assets/android_ndk_linux/VERSION",
|
||||
"/path/to/tmp/"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "Get android_ndk_linux VERSION",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@VERSION@42@@@",
|
||||
"@@@STEP_LOG_END@VERSION@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"[START_DIR]/cache/work/skia/bin/fetch-gn"
|
||||
],
|
||||
"cwd": "[START_DIR]/cache/work/skia",
|
||||
"env": {
|
||||
"CHROME_HEADLESS": "1",
|
||||
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
||||
},
|
||||
"infra_step": true,
|
||||
"name": "fetch-gn"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"[START_DIR]/cache/work/skia/bin/gn",
|
||||
"gen",
|
||||
"[START_DIR]/cache/work/skia/out/Build-Debian10-Clang-arm64-Debug-Android_HWASAN/Debug",
|
||||
"--args=extra_cflags=[\"-O1\", \"-DREBUILD_IF_CHANGED_ndk_version=42\"] ndk=\"[START_DIR]/android_ndk_linux\" sanitize=\"HWASAN\" target_cpu=\"arm64\" werror=true"
|
||||
],
|
||||
"cwd": "[START_DIR]/cache/work/skia",
|
||||
"env": {
|
||||
"CHROME_HEADLESS": "1",
|
||||
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
||||
},
|
||||
"name": "gn gen"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"ninja",
|
||||
"-C",
|
||||
"[START_DIR]/cache/work/skia/out/Build-Debian10-Clang-arm64-Debug-Android_HWASAN/Debug"
|
||||
],
|
||||
"cwd": "[START_DIR]/cache/work/skia",
|
||||
"env": {
|
||||
"CHROME_HEADLESS": "1",
|
||||
"PATH": "<PATH>:RECIPE_REPO[depot_tools]"
|
||||
},
|
||||
"name": "ninja"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'nanobench', 'skpbench']\n\ntry:\n os.makedirs(dst)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\nfor pattern in build_products:\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-Debian10-Clang-arm64-Debug-Android_HWASAN/Debug",
|
||||
"[START_DIR]/[SWARM_OUT_DIR]/out/Debug"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "copy build products",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@python.inline@import errno@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@import glob@@@",
|
||||
"@@@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@src = sys.argv[1]@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@build_products = ['dm', 'nanobench', 'skpbench']@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@try:@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(dst)@@@",
|
||||
"@@@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@for pattern in build_products:@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@ path = os.path.join(src, pattern)@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@ for f in glob.glob(path):@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@ os.makedirs(os.path.dirname(dst_path))@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@",
|
||||
"@@@STEP_LOG_LINE@python.inline@ shutil.move(f, dst_path)@@@",
|
||||
"@@@STEP_LOG_END@python.inline@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "$result"
|
||||
}
|
||||
]
|
@ -37,6 +37,7 @@ TEST_BUILDERS = [
|
||||
'Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES_Docker',
|
||||
'Build-Debian9-Clang-x86_64-Release-Chromebook_GLES_Docker',
|
||||
'Build-Debian10-Clang-arm-Release-Flutter_Android',
|
||||
'Build-Debian10-Clang-arm64-Debug-Android_HWASAN',
|
||||
'Build-Debian10-Clang-arm64-Release-Android_Wuffs',
|
||||
'Build-Debian10-Clang-x86_64-Debug-Chromebook_GLES',
|
||||
'Build-Debian10-Clang-x86_64-Debug-Coverage',
|
||||
|
@ -128,8 +128,8 @@ class AndroidFlavor(default.DefaultFlavor):
|
||||
# AndroidOne doesn't support ondemand governor. hotplug is similar.
|
||||
if device == 'AndroidOne':
|
||||
self._set_governor(i, 'hotplug')
|
||||
elif device in ['Pixel3a', 'Pixel4']:
|
||||
# Pixel3a/4 have userspace powersave performance schedutil.
|
||||
elif device in ['Pixel3a', 'Pixel4', 'Pixel4a']:
|
||||
# Pixel3a/4/4a have userspace powersave performance schedutil.
|
||||
# performance seems like a reasonable choice.
|
||||
self._set_governor(i, 'performance')
|
||||
else:
|
||||
|
@ -65,6 +65,11 @@
|
||||
"Build-Debian10-Clang-arm64-Debug-Android_ASAN_Vulkan"
|
||||
]
|
||||
},
|
||||
"Build-Debian10-Clang-arm64-Debug-Android_HWASAN": {
|
||||
"tasks": [
|
||||
"Build-Debian10-Clang-arm64-Debug-Android_HWASAN"
|
||||
]
|
||||
},
|
||||
"Build-Debian10-Clang-arm64-Debug-Android_Vulkan": {
|
||||
"tasks": [
|
||||
"Build-Debian10-Clang-arm64-Debug-Android_Vulkan"
|
||||
@ -1905,6 +1910,16 @@
|
||||
"Test-Android-Clang-Pixel4XL-GPU-Adreno640-arm64-Release-All-Android_Vulkan"
|
||||
]
|
||||
},
|
||||
"Test-Android-Clang-Pixel4a-CPU-Snapdragon730G-arm64-Debug-All-Android_HWASAN": {
|
||||
"tasks": [
|
||||
"Test-Android-Clang-Pixel4a-CPU-Snapdragon730G-arm64-Debug-All-Android_HWASAN"
|
||||
]
|
||||
},
|
||||
"Test-Android-Clang-Pixel4a-GPU-Adreno618-arm64-Debug-All-Android_HWASAN": {
|
||||
"tasks": [
|
||||
"Test-Android-Clang-Pixel4a-GPU-Adreno618-arm64-Debug-All-Android_HWASAN"
|
||||
]
|
||||
},
|
||||
"Test-Android-Clang-Pixel5-GPU-Adreno620-arm64-Debug-All-Android": {
|
||||
"tasks": [
|
||||
"Test-Android-Clang-Pixel5-GPU-Adreno620-arm64-Debug-All-Android"
|
||||
@ -4305,6 +4320,98 @@
|
||||
],
|
||||
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
|
||||
},
|
||||
"Build-Debian10-Clang-arm64-Debug-Android_HWASAN": {
|
||||
"caches": [
|
||||
{
|
||||
"name": "vpython",
|
||||
"path": "cache/vpython"
|
||||
}
|
||||
],
|
||||
"casSpec": "compile",
|
||||
"cipd_packages": [
|
||||
{
|
||||
"name": "infra/3pp/tools/cpython/linux-amd64",
|
||||
"path": "cipd_bin_packages/cpython",
|
||||
"version": "version:2@2.7.18.chromium.39"
|
||||
},
|
||||
{
|
||||
"name": "infra/3pp/tools/cpython3/linux-amd64",
|
||||
"path": "cipd_bin_packages/cpython3",
|
||||
"version": "version:2@3.8.10.chromium.19"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci-auth/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:904674219c73c0a69c9c4838f1bc378fe90fb9c8"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/kitchen/${platform}",
|
||||
"path": ".",
|
||||
"version": "git_revision:904674219c73c0a69c9c4838f1bc378fe90fb9c8"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/vpython-native/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:7cd120a5d0da5892216fe478f880e9b672428697"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/vpython/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:7cd120a5d0da5892216fe478f880e9b672428697"
|
||||
},
|
||||
{
|
||||
"name": "skia/bots/android_ndk_linux",
|
||||
"path": "android_ndk_linux",
|
||||
"version": "version:16"
|
||||
}
|
||||
],
|
||||
"command": [
|
||||
"cipd_bin_packages/vpython3${EXECUTABLE_SUFFIX}",
|
||||
"-u",
|
||||
"skia/infra/bots/run_recipe.py",
|
||||
"${ISOLATED_OUTDIR}",
|
||||
"compile",
|
||||
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Debian10-Clang-arm64-Debug-Android_HWASAN\",\"swarm_out_dir\":\"build\"}",
|
||||
"skia"
|
||||
],
|
||||
"dependencies": [
|
||||
"Housekeeper-PerCommit-BundleRecipes"
|
||||
],
|
||||
"dimensions": [
|
||||
"cpu:x86-64-Haswell_GCE",
|
||||
"gpu:none",
|
||||
"machine_type:n1-highcpu-64",
|
||||
"os:Debian-10.3",
|
||||
"pool:Skia"
|
||||
],
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"cipd_bin_packages/cpython",
|
||||
"cipd_bin_packages/cpython/bin",
|
||||
"cipd_bin_packages/cpython3",
|
||||
"cipd_bin_packages/cpython3/bin",
|
||||
"cipd_bin_packages",
|
||||
"cipd_bin_packages/bin"
|
||||
],
|
||||
"VPYTHON_LOG_TRACE": [
|
||||
"1"
|
||||
],
|
||||
"VPYTHON_VIRTUALENV_ROOT": [
|
||||
"cache/vpython"
|
||||
]
|
||||
},
|
||||
"execution_timeout_ns": 3600000000000,
|
||||
"extra_tags": {
|
||||
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
|
||||
},
|
||||
"idempotent": true,
|
||||
"io_timeout_ns": 3600000000000,
|
||||
"max_attempts": 2,
|
||||
"outputs": [
|
||||
"build"
|
||||
],
|
||||
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
|
||||
},
|
||||
"Build-Debian10-Clang-arm64-Debug-Android_Vulkan": {
|
||||
"caches": [
|
||||
{
|
||||
@ -38747,6 +38854,186 @@
|
||||
],
|
||||
"service_account": "skia-external-gm-uploader@skia-swarming-bots.iam.gserviceaccount.com"
|
||||
},
|
||||
"Test-Android-Clang-Pixel4a-CPU-Snapdragon730G-arm64-Debug-All-Android_HWASAN": {
|
||||
"caches": [
|
||||
{
|
||||
"name": "vpython",
|
||||
"path": "cache/vpython"
|
||||
}
|
||||
],
|
||||
"casSpec": "test",
|
||||
"cipd_packages": [
|
||||
{
|
||||
"name": "infra/3pp/tools/cpython/linux-arm64",
|
||||
"path": "cipd_bin_packages/cpython",
|
||||
"version": "version:2@2.7.18.chromium.39"
|
||||
},
|
||||
{
|
||||
"name": "infra/3pp/tools/cpython3/linux-arm64",
|
||||
"path": "cipd_bin_packages/cpython3",
|
||||
"version": "version:2@3.8.10.chromium.19"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci-auth/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:904674219c73c0a69c9c4838f1bc378fe90fb9c8"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/kitchen/${platform}",
|
||||
"path": ".",
|
||||
"version": "git_revision:904674219c73c0a69c9c4838f1bc378fe90fb9c8"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/vpython-native/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:7cd120a5d0da5892216fe478f880e9b672428697"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/vpython/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:7cd120a5d0da5892216fe478f880e9b672428697"
|
||||
}
|
||||
],
|
||||
"command": [
|
||||
"cipd_bin_packages/vpython3${EXECUTABLE_SUFFIX}",
|
||||
"-u",
|
||||
"skia/infra/bots/run_recipe.py",
|
||||
"${ISOLATED_OUTDIR}",
|
||||
"test",
|
||||
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Android-Clang-Pixel4a-CPU-Snapdragon730G-arm64-Debug-All-Android_HWASAN\",\"dm_flags\":\"[\\\"dm\\\",\\\"--nameByHash\\\",\\\"--key\\\",\\\"arch\\\",\\\"arm64\\\",\\\"compiler\\\",\\\"Clang\\\",\\\"configuration\\\",\\\"Debug\\\",\\\"cpu_or_gpu\\\",\\\"CPU\\\",\\\"cpu_or_gpu_value\\\",\\\"Snapdragon730G\\\",\\\"extra_config\\\",\\\"Android_HWASAN\\\",\\\"model\\\",\\\"Pixel4a\\\",\\\"os\\\",\\\"Android\\\",\\\"style\\\",\\\"default\\\",\\\"--nogpu\\\",\\\"--config\\\",\\\"8888\\\",\\\"--src\\\",\\\"tests\\\",\\\"gm\\\",\\\"image\\\",\\\"colorImage\\\",\\\"--skip\\\",\\\"_\\\",\\\"image\\\",\\\"gen_platf\\\",\\\"error\\\",\\\"_\\\",\\\"test\\\",\\\"_\\\",\\\"GrStyledShape\\\",\\\"--nonativeFonts\\\",\\\"--verbose\\\"]\",\"dm_properties\":\"{\\\"buildbucket_build_id\\\":\\\"<(BUILDBUCKET_BUILD_ID)\\\",\\\"builder\\\":\\\"Test-Android-Clang-Pixel4a-CPU-Snapdragon730G-arm64-Debug-All-Android_HWASAN\\\",\\\"gitHash\\\":\\\"<(REVISION)\\\",\\\"issue\\\":\\\"<(ISSUE)\\\",\\\"patch_storage\\\":\\\"<(PATCH_STORAGE)\\\",\\\"patchset\\\":\\\"<(PATCHSET)\\\",\\\"swarming_bot_id\\\":\\\"${SWARMING_BOT_ID}\\\",\\\"swarming_task_id\\\":\\\"${SWARMING_TASK_ID}\\\",\\\"task_id\\\":\\\"<(TASK_ID)\\\"}\",\"do_upload\":\"false\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"images\":\"true\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"resources\":\"true\",\"revision\":\"<(REVISION)\",\"skps\":\"true\",\"svgs\":\"true\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
|
||||
"skia"
|
||||
],
|
||||
"dependencies": [
|
||||
"Build-Debian10-Clang-arm64-Debug-Android_HWASAN",
|
||||
"Housekeeper-PerCommit-BundleRecipes",
|
||||
"Housekeeper-PerCommit-IsolateSKP",
|
||||
"Housekeeper-PerCommit-IsolateSVG",
|
||||
"Housekeeper-PerCommit-IsolateSkImage"
|
||||
],
|
||||
"dimensions": [
|
||||
"android_hwasan_build:1",
|
||||
"device_os:AOSP.MASTER_7819821",
|
||||
"device_type:sunfish",
|
||||
"os:Android",
|
||||
"pool:Skia"
|
||||
],
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"cipd_bin_packages/cpython",
|
||||
"cipd_bin_packages/cpython/bin",
|
||||
"cipd_bin_packages/cpython3",
|
||||
"cipd_bin_packages/cpython3/bin",
|
||||
"cipd_bin_packages",
|
||||
"cipd_bin_packages/bin"
|
||||
],
|
||||
"VPYTHON_LOG_TRACE": [
|
||||
"1"
|
||||
],
|
||||
"VPYTHON_VIRTUALENV_ROOT": [
|
||||
"cache/vpython"
|
||||
]
|
||||
},
|
||||
"execution_timeout_ns": 14400000000000,
|
||||
"expiration_ns": 72000000000000,
|
||||
"extra_tags": {
|
||||
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
|
||||
},
|
||||
"io_timeout_ns": 14400000000000,
|
||||
"max_attempts": 1,
|
||||
"outputs": [
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"Test-Android-Clang-Pixel4a-GPU-Adreno618-arm64-Debug-All-Android_HWASAN": {
|
||||
"caches": [
|
||||
{
|
||||
"name": "vpython",
|
||||
"path": "cache/vpython"
|
||||
}
|
||||
],
|
||||
"casSpec": "test",
|
||||
"cipd_packages": [
|
||||
{
|
||||
"name": "infra/3pp/tools/cpython/linux-arm64",
|
||||
"path": "cipd_bin_packages/cpython",
|
||||
"version": "version:2@2.7.18.chromium.39"
|
||||
},
|
||||
{
|
||||
"name": "infra/3pp/tools/cpython3/linux-arm64",
|
||||
"path": "cipd_bin_packages/cpython3",
|
||||
"version": "version:2@3.8.10.chromium.19"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci-auth/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:904674219c73c0a69c9c4838f1bc378fe90fb9c8"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/kitchen/${platform}",
|
||||
"path": ".",
|
||||
"version": "git_revision:904674219c73c0a69c9c4838f1bc378fe90fb9c8"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/vpython-native/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:7cd120a5d0da5892216fe478f880e9b672428697"
|
||||
},
|
||||
{
|
||||
"name": "infra/tools/luci/vpython/${platform}",
|
||||
"path": "cipd_bin_packages",
|
||||
"version": "git_revision:7cd120a5d0da5892216fe478f880e9b672428697"
|
||||
}
|
||||
],
|
||||
"command": [
|
||||
"cipd_bin_packages/vpython3${EXECUTABLE_SUFFIX}",
|
||||
"-u",
|
||||
"skia/infra/bots/run_recipe.py",
|
||||
"${ISOLATED_OUTDIR}",
|
||||
"test",
|
||||
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Android-Clang-Pixel4a-GPU-Adreno618-arm64-Debug-All-Android_HWASAN\",\"dm_flags\":\"[\\\"dm\\\",\\\"--nameByHash\\\",\\\"--key\\\",\\\"arch\\\",\\\"arm64\\\",\\\"compiler\\\",\\\"Clang\\\",\\\"configuration\\\",\\\"Debug\\\",\\\"cpu_or_gpu\\\",\\\"GPU\\\",\\\"cpu_or_gpu_value\\\",\\\"Adreno618\\\",\\\"extra_config\\\",\\\"Android_HWASAN\\\",\\\"model\\\",\\\"Pixel4a\\\",\\\"os\\\",\\\"Android\\\",\\\"style\\\",\\\"default\\\",\\\"--nocpu\\\",\\\"--config\\\",\\\"gles\\\",\\\"glesdft\\\",\\\"srgb-gles\\\",\\\"glesmsaa4\\\",\\\"--src\\\",\\\"tests\\\",\\\"gm\\\",\\\"image\\\",\\\"colorImage\\\",\\\"svg\\\",\\\"--skip\\\",\\\"_\\\",\\\"svg\\\",\\\"_\\\",\\\"svgparse_\\\",\\\"srgb-gles\\\",\\\"image\\\",\\\"_\\\",\\\"_\\\",\\\"_\\\",\\\"image\\\",\\\"gen_platf\\\",\\\"error\\\",\\\"_\\\",\\\"test\\\",\\\"_\\\",\\\"GrStyledShape\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\"interlaced1.png\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\"interlaced2.png\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\"interlaced3.png\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".arw\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".cr2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".dng\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".nef\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".nrw\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".orf\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".raf\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".rw2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".pef\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".srw\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".ARW\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".CR2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".DNG\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".NEF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".NRW\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".ORF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".RAF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".RW2\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".PEF\\\",\\\"_\\\",\\\"image\\\",\\\"_\\\",\\\".SRW\\\",\\\"_\\\",\\\"tests\\\",\\\"_\\\",\\\"SkSLArrayCast_GPU\\\",\\\"_\\\",\\\"tests\\\",\\\"_\\\",\\\"SkSLArrayComparison_GPU\\\",\\\"_\\\",\\\"tests\\\",\\\"_\\\",\\\"SkSLIntrinsicIsInf_GPU\\\",\\\"--nonativeFonts\\\",\\\"--verbose\\\"]\",\"dm_properties\":\"{\\\"buildbucket_build_id\\\":\\\"<(BUILDBUCKET_BUILD_ID)\\\",\\\"builder\\\":\\\"Test-Android-Clang-Pixel4a-GPU-Adreno618-arm64-Debug-All-Android_HWASAN\\\",\\\"gitHash\\\":\\\"<(REVISION)\\\",\\\"issue\\\":\\\"<(ISSUE)\\\",\\\"patch_storage\\\":\\\"<(PATCH_STORAGE)\\\",\\\"patchset\\\":\\\"<(PATCHSET)\\\",\\\"swarming_bot_id\\\":\\\"${SWARMING_BOT_ID}\\\",\\\"swarming_task_id\\\":\\\"${SWARMING_TASK_ID}\\\",\\\"task_id\\\":\\\"<(TASK_ID)\\\"}\",\"do_upload\":\"false\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"images\":\"true\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"resources\":\"true\",\"revision\":\"<(REVISION)\",\"skps\":\"true\",\"svgs\":\"true\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
|
||||
"skia"
|
||||
],
|
||||
"dependencies": [
|
||||
"Build-Debian10-Clang-arm64-Debug-Android_HWASAN",
|
||||
"Housekeeper-PerCommit-BundleRecipes",
|
||||
"Housekeeper-PerCommit-IsolateSKP",
|
||||
"Housekeeper-PerCommit-IsolateSVG",
|
||||
"Housekeeper-PerCommit-IsolateSkImage"
|
||||
],
|
||||
"dimensions": [
|
||||
"android_hwasan_build:1",
|
||||
"device_os:AOSP.MASTER_7819821",
|
||||
"device_type:sunfish",
|
||||
"os:Android",
|
||||
"pool:Skia"
|
||||
],
|
||||
"env_prefixes": {
|
||||
"PATH": [
|
||||
"cipd_bin_packages/cpython",
|
||||
"cipd_bin_packages/cpython/bin",
|
||||
"cipd_bin_packages/cpython3",
|
||||
"cipd_bin_packages/cpython3/bin",
|
||||
"cipd_bin_packages",
|
||||
"cipd_bin_packages/bin"
|
||||
],
|
||||
"VPYTHON_LOG_TRACE": [
|
||||
"1"
|
||||
],
|
||||
"VPYTHON_VIRTUALENV_ROOT": [
|
||||
"cache/vpython"
|
||||
]
|
||||
},
|
||||
"execution_timeout_ns": 14400000000000,
|
||||
"expiration_ns": 72000000000000,
|
||||
"extra_tags": {
|
||||
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
|
||||
},
|
||||
"io_timeout_ns": 14400000000000,
|
||||
"max_attempts": 1,
|
||||
"outputs": [
|
||||
"test"
|
||||
]
|
||||
},
|
||||
"Test-Android-Clang-Pixel5-GPU-Adreno620-arm64-Debug-All-Android": {
|
||||
"caches": [
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user