From e0240455a84d530e5f5a5c1525e31341938c9207 Mon Sep 17 00:00:00 2001 From: Kevin Lubick Date: Tue, 10 Oct 2017 10:51:40 -0400 Subject: Add Linux GPU Coverage bot Adds it for Vulkan and non-Vulkan Bug: skia:7080 NOTRY=true Change-Id: I5c4b30b91b96ad6ce9694c42550c4e909de4ba41 Reviewed-on: https://skia-review.googlesource.com/57560 Commit-Queue: Kevin Lubick Reviewed-by: Ravi Mistry --- infra/bots/README.recipes.md | 6 +- infra/bots/jobs.json | 3 + infra/bots/recipe_modules/flavor/gn_flavor.py | 8 +- ...bian9-Clang-x86_64-Release-Vulkan_Coverage.json | 181 ++++++++++++ infra/bots/recipes/compile.py | 1 + ...-IntelIris540-x86_64-Debug-Vulkan_Coverage.json | 326 +++++++++++++++++++++ infra/bots/recipes/test.py | 2 + infra/bots/tasks.json | 232 +++++++++++++++ 8 files changed, 752 insertions(+), 7 deletions(-) create mode 100644 infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage.json create mode 100644 infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan_Coverage.json diff --git a/infra/bots/README.recipes.md b/infra/bots/README.recipes.md index 58753dd0f7..4ec7a47194 100644 --- a/infra/bots/README.recipes.md +++ b/infra/bots/README.recipes.md @@ -830,17 +830,17 @@ benchmark Skia using skpbench. [DEPS](/infra/bots/recipes/test.py#9): [recipe\_engine/context][recipe_engine/recipe_modules/context], [recipe\_engine/file][recipe_engine/recipe_modules/file], [recipe\_engine/json][recipe_engine/recipe_modules/json], [recipe\_engine/path][recipe_engine/recipe_modules/path], [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/python][recipe_engine/recipe_modules/python], [recipe\_engine/raw\_io][recipe_engine/recipe_modules/raw_io], [recipe\_engine/step][recipe_engine/recipe_modules/step], [core](#recipe_modules-core), [env](#recipe_modules-env), [flavor](#recipe_modules-flavor), [run](#recipe_modules-run), [vars](#recipe_modules-vars) -— **def [RunSteps](/infra/bots/recipes/test.py#838)(api):** +— **def [RunSteps](/infra/bots/recipes/test.py#835)(api):** — **def [dm\_flags](/infra/bots/recipes/test.py#27)(api, bot):** -— **def [key\_params](/infra/bots/recipes/test.py#689)(api):** +— **def [key\_params](/infra/bots/recipes/test.py#686)(api):** Build a unique key from the builder name (as a list). E.g. arch x86 gpu GeForce320M mode MacMini4.1 os Mac10.6 -— **def [test\_steps](/infra/bots/recipes/test.py#706)(api):** +— **def [test\_steps](/infra/bots/recipes/test.py#703)(api):** Run the DM test. ### *recipes* / [update\_meta\_config](/infra/bots/recipes/update_meta_config.py) diff --git a/infra/bots/jobs.json b/infra/bots/jobs.json index 4ce280a423..69cf4dce14 100644 --- a/infra/bots/jobs.json +++ b/infra/bots/jobs.json @@ -26,6 +26,7 @@ "Build-Debian9-Clang-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE", "Build-Debian9-Clang-x86_64-Debug-UBSAN_float_cast_overflow", "Build-Debian9-Clang-x86_64-Debug-Vulkan", + "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage", "Build-Debian9-Clang-x86_64-Release", "Build-Debian9-Clang-x86_64-Release-ASAN", "Build-Debian9-Clang-x86_64-Release-Fast", @@ -360,7 +361,9 @@ "Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release", "Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-Vulkan", "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug", + "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage", "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan", + "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage", "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release", "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release-Vulkan", "Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug", diff --git a/infra/bots/recipe_modules/flavor/gn_flavor.py b/infra/bots/recipe_modules/flavor/gn_flavor.py index b1855de98e..9924122a05 100644 --- a/infra/bots/recipe_modules/flavor/gn_flavor.py +++ b/infra/bots/recipe_modules/flavor/gn_flavor.py @@ -59,7 +59,7 @@ class GNFlavorUtils(default_flavor.DefaultFlavorUtils): cxx = emscripten_sdk + '/emscripten/incoming/em++' extra_cflags.append('-Wno-unknown-warning-option') - if extra_config == 'Coverage': + if 'Coverage' in extra_config: # See https://clang.llvm.org/docs/SourceBasedCodeCoverage.html for # more info on using llvm to gather coverage information. extra_cflags.append('-fprofile-instr-generate') @@ -114,7 +114,7 @@ class GNFlavorUtils(default_flavor.DefaultFlavorUtils): args['skia_enable_gpu'] = 'false' if extra_config == 'Shared': args['is_component_build'] = 'true' - if extra_config == 'Vulkan': + if 'Vulkan' in extra_config and not 'Android' in extra_config: args['skia_enable_vulkan_debug_layers'] = 'false' if self.m.vars.is_linux: args['skia_vulkan_sdk'] = '"%s"' % linux_vulkan_sdk @@ -134,7 +134,7 @@ class GNFlavorUtils(default_flavor.DefaultFlavorUtils): 'skia_use_icu': 'false', 'skia_enable_gpu': 'false', }) - if extra_config == 'Coverage': + if 'Coverage' in extra_config: args['skia_use_system_freetype2'] = 'false' sanitize = '' @@ -238,7 +238,7 @@ class GNFlavorUtils(default_flavor.DefaultFlavorUtils): # If we're in a signal handler, we're already crashing... env['TSAN_OPTIONS'] = 'report_signal_unsafe=0' - if 'Coverage' == extra_config: + if 'Coverage' in extra_config: # This is the output file for the coverage data. Just running the binary # will produce the output. The output_file is in the swarming_out_dir and # thus will be an isolated output of the Test step. diff --git a/infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage.json b/infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage.json new file mode 100644 index 0000000000..5f08a90913 --- /dev/null +++ b/infra/bots/recipes/compile.expected/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage.json @@ -0,0 +1,181 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "ensure-directory", + "--mode", + "0777", + "[CUSTOM_/_B_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", + "[CUSTOM_/_B_WORK]/.gclient_entries" + ], + "infra_step": true, + "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", + "--spec-path", + "cache_dir = '[CUSTOM_/_B_CACHE]'\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", + "[CUSTOM_/_B_CACHE]", + "--cleanup-dir", + "[CLEANUP]/bot_update", + "--output_json", + "/path/to/tmp/json", + "--revision", + "skia@abc123" + ], + "cwd": "[CUSTOM_/_B_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@ \"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", + "[CUSTOM_/_B_WORK]/skia/bin/fetch-gn" + ], + "cwd": "[CUSTOM_/_B_WORK]/skia", + "env": { + "BUILDTYPE": "Release", + "CC": "/usr/bin/clang", + "CHROME_HEADLESS": "1", + "CXX": "/usr/bin/clang++", + "PATH": ":RECIPE_PACKAGE_REPO[depot_tools]", + "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage" + }, + "infra_step": true, + "name": "fetch-gn" + }, + { + "cmd": [ + "[CUSTOM_/_B_WORK]/skia/bin/gn", + "gen", + "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage/Release", + "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_cflags=[\"-B[START_DIR]/clang_linux/bin\", \"-fprofile-instr-generate\", \"-fcoverage-mapping\"] extra_ldflags=[\"-B[START_DIR]/clang_linux/bin\", \"-fuse-ld=lld\", \"-fprofile-instr-generate\", \"-fcoverage-mapping\"] is_debug=false skia_enable_vulkan_debug_layers=false skia_use_system_freetype2=false skia_vulkan_sdk=\"[START_DIR]/linux_vulkan_sdk\" target_cpu=\"x86_64\"" + ], + "cwd": "[CUSTOM_/_B_WORK]/skia", + "env": { + "BUILDTYPE": "Release", + "CC": "/usr/bin/clang", + "CHROME_HEADLESS": "1", + "CXX": "/usr/bin/clang++", + "PATH": ":RECIPE_PACKAGE_REPO[depot_tools]", + "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage" + }, + "name": "gn gen" + }, + { + "cmd": [ + "ninja", + "-C", + "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage/Release" + ], + "cwd": "[CUSTOM_/_B_WORK]/skia", + "env": { + "BUILDTYPE": "Release", + "CC": "/usr/bin/clang", + "CHROME_HEADLESS": "1", + "CXX": "/usr/bin/clang++", + "PATH": ":RECIPE_PACKAGE_REPO[depot_tools]", + "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage" + }, + "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_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', 'vulkan-1.dll']\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", + "[CUSTOM_/_B_WORK]/skia/out/Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage/Release", + "[CUSTOM_[SWARM_OUT_DIR]]/out/Release" + ], + "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_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', 'vulkan-1.dll']@@@", + "@@@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_whitelist:@@@", + "@@@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", + "recipe_result": null, + "status_code": 0 + } +] \ No newline at end of file diff --git a/infra/bots/recipes/compile.py b/infra/bots/recipes/compile.py index bde164d1e3..e723da9280 100644 --- a/infra/bots/recipes/compile.py +++ b/infra/bots/recipes/compile.py @@ -88,6 +88,7 @@ TEST_BUILDERS = [ 'Build-Debian9-Clang-x86_64-Release-Fast', 'Build-Debian9-Clang-x86_64-Release-Mini', 'Build-Debian9-Clang-x86_64-Release-Vulkan', + 'Build-Debian9-Clang-x86_64-Release-Vulkan_Coverage', 'Build-Debian9-EMCC-wasm-Release', 'Build-Debian9-GCC-arm-Release-Chromecast', 'Build-Debian9-GCC-x86-Debug', diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan_Coverage.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan_Coverage.json new file mode 100644 index 0000000000..b7d461f25e --- /dev/null +++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan_Coverage.json @@ -0,0 +1,326 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "[START_DIR]/skia/infra/bots/assets/skp/VERSION", + "/path/to/tmp/" + ], + "infra_step": true, + "name": "Get downloaded SKP VERSION" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "42", + "[START_DIR]/tmp/SKP_VERSION" + ], + "infra_step": true, + "name": "write SKP_VERSION" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "[START_DIR]/skia/infra/bots/assets/skimage/VERSION", + "/path/to/tmp/" + ], + "infra_step": true, + "name": "Get downloaded skimage VERSION" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "42", + "[START_DIR]/tmp/SK_IMAGE_VERSION" + ], + "infra_step": true, + "name": "write SK_IMAGE_VERSION" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "[START_DIR]/skia/infra/bots/assets/svg/VERSION", + "/path/to/tmp/" + ], + "infra_step": true, + "name": "Get downloaded SVG VERSION" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", + "--json-output", + "/path/to/tmp/json", + "copy", + "42", + "[START_DIR]/tmp/SVG_VERSION" + ], + "infra_step": true, + "name": "write SVG_VERSION" + }, + { + "cmd": [ + "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": [ + "python", + "-u", + "RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py", + "[START_DIR]", + "catchsegv", + "[START_DIR]/out/Debug/dm", + "--resourcePath", + "[START_DIR]/skia/resources", + "--skps", + "[START_DIR]/skp", + "--images", + "[START_DIR]/skimage/dm", + "--colorImages", + "[START_DIR]/skimage/colorspace", + "--nameByHash", + "--properties", + "gitHash", + "abc123", + "builder", + "Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan_Coverage", + "swarming_bot_id", + "skia-bot-123", + "swarming_task_id", + "123456", + "--svgs", + "[START_DIR]/svg", + "--key", + "arch", + "x86_64", + "compiler", + "Clang", + "configuration", + "Debug", + "cpu_or_gpu", + "GPU", + "cpu_or_gpu_value", + "IntelIris540", + "extra_config", + "Vulkan_Coverage", + "model", + "NUC6i5SYK", + "os", + "Ubuntu16", + "--dont_write", + "pdf", + "--randomProcessorTest", + "--nocpu", + "--config", + "vk", + "--src", + "tests", + "gm", + "image", + "colorImage", + "svg", + "--blacklist", + "gltestthreading", + "gm", + "_", + "lcdblendmodes", + "gltestthreading", + "gm", + "_", + "lcdoverlap", + "gltestthreading", + "gm", + "_", + "textbloblooper", + "gltestthreading", + "gm", + "_", + "bleed_alpha_bmp", + "gltestthreading", + "gm", + "_", + "bleed_alpha_bmp_shader", + "gltestthreading", + "gm", + "_", + "bleed_alpha_image", + "gltestthreading", + "gm", + "_", + "bleed_alpha_image_shader", + "gltestthreading", + "gm", + "_", + "savelayer_with_backdrop", + "gltestthreading", + "gm", + "_", + "persp_shaders_bw", + "_", + "svg", + "_", + "svgparse_", + "_", + "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", + "--match", + "~VkHeapTests", + "--verbose" + ], + "cwd": "[START_DIR]/skia", + "env": { + "BUILDTYPE": "Debug", + "CHROME_HEADLESS": "1", + "LD_LIBRARY_PATH": "[START_DIR]/linux_vulkan_intel_driver_debug:[START_DIR]/linux_vulkan_sdk/lib", + "LIBGL_DRIVERS_PATH": "[START_DIR]/linux_vulkan_intel_driver_debug", + "LLVM_PROFILE_FILE": "[CUSTOM_[SWARM_OUT_DIR]]/output.profraw", + "PATH": ":RECIPE_PACKAGE_REPO[depot_tools]:[START_DIR]/linux_vulkan_sdk/bin", + "SKIA_OUT": "[START_DIR]/out", + "VK_ICD_FILENAMES": "[START_DIR]/linux_vulkan_intel_driver_debug/intel_icd.x86_64.json" + }, + "name": "symbolized dm" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +] \ No newline at end of file diff --git a/infra/bots/recipes/test.py b/infra/bots/recipes/test.py index bd68d924d8..d29f502c4f 100644 --- a/infra/bots/recipes/test.py +++ b/infra/bots/recipes/test.py @@ -883,6 +883,8 @@ TEST_BUILDERS = [ 'Test-Mac-Clang-MacMini7.1-GPU-IntelIris5100-x86_64-Debug-CommandBuffer', 'Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug', 'Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan', + ('Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Debug-Vulkan' + '_Coverage'), 'Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug', ('Test-Ubuntu17-GCC-Golo-GPU-QuadroP400-x86_64-Release' '-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41'), diff --git a/infra/bots/tasks.json b/infra/bots/tasks.json index 553689e846..dd059749a3 100644 --- a/infra/bots/tasks.json +++ b/infra/bots/tasks.json @@ -162,6 +162,12 @@ "Build-Debian9-Clang-x86_64-Debug-Vulkan" ] }, + "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage": { + "priority": 0.8, + "tasks": [ + "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage" + ] + }, "Build-Debian9-Clang-x86_64-Release": { "priority": 0.8, "tasks": [ @@ -2177,12 +2183,24 @@ "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug" ] }, + "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage": { + "priority": 0.8, + "tasks": [ + "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage" + ] + }, "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan": { "priority": 0.8, "tasks": [ "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan" ] }, + "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage": { + "priority": 0.8, + "tasks": [ + "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage" + ] + }, "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release": { "priority": 0.8, "tasks": [ @@ -3560,6 +3578,41 @@ "isolate": "compile_skia.isolate", "priority": 0.8 }, + "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage": { + "cipd_packages": [ + { + "name": "skia/bots/clang_linux", + "path": "clang_linux", + "version": "version:10" + }, + { + "name": "skia/bots/linux_vulkan_sdk", + "path": "linux_vulkan_sdk", + "version": "version:0" + } + ], + "dimensions": [ + "cpu:x86-64-Haswell_GCE", + "gpu:none", + "os:Debian-9.1", + "pool:Skia" + ], + "extra_args": [ + "--workdir", + "../../..", + "compile", + "repository=<(REPO)", + "buildername=Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage", + "swarm_out_dir=${ISOLATED_OUTDIR}", + "revision=<(REVISION)", + "patch_repo=<(PATCH_REPO)", + "patch_storage=<(PATCH_STORAGE)", + "patch_issue=<(ISSUE)", + "patch_set=<(PATCHSET)" + ], + "isolate": "compile_skia.isolate", + "priority": 0.8 + }, "Build-Debian9-Clang-x86_64-Release": { "cipd_packages": [ { @@ -16597,6 +16650,58 @@ "max_attempts": 1, "priority": 0.8 }, + "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage": { + "cipd_packages": [ + { + "name": "skia/bots/skimage", + "path": "skimage", + "version": "version:32" + }, + { + "name": "skia/bots/skp", + "path": "skp", + "version": "version:89" + }, + { + "name": "skia/bots/svg", + "path": "svg", + "version": "version:9" + }, + { + "name": "skia/bots/linux_vulkan_intel_driver_debug", + "path": "linux_vulkan_intel_driver_debug", + "version": "version:4" + } + ], + "dependencies": [ + "Build-Debian9-Clang-x86_64-Debug-Coverage", + "Housekeeper-PerCommit-BundleRecipes" + ], + "dimensions": [ + "gpu:8086:5926", + "os:Ubuntu-16.10", + "pool:Skia" + ], + "execution_timeout_ns": 14400000000000, + "expiration_ns": 72000000000000, + "extra_args": [ + "--workdir", + "../../..", + "test", + "repository=<(REPO)", + "buildername=Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage", + "swarm_out_dir=${ISOLATED_OUTDIR}", + "revision=<(REVISION)", + "patch_repo=<(PATCH_REPO)", + "patch_storage=<(PATCH_STORAGE)", + "patch_issue=<(ISSUE)", + "patch_set=<(PATCHSET)" + ], + "io_timeout_ns": 2400000000000, + "isolate": "test_skia_bundled_unix.isolate", + "max_attempts": 1, + "priority": 0.8 + }, "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan": { "cipd_packages": [ { @@ -16654,6 +16759,63 @@ "max_attempts": 1, "priority": 0.8 }, + "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage": { + "cipd_packages": [ + { + "name": "skia/bots/skimage", + "path": "skimage", + "version": "version:32" + }, + { + "name": "skia/bots/skp", + "path": "skp", + "version": "version:89" + }, + { + "name": "skia/bots/svg", + "path": "svg", + "version": "version:9" + }, + { + "name": "skia/bots/linux_vulkan_sdk", + "path": "linux_vulkan_sdk", + "version": "version:0" + }, + { + "name": "skia/bots/linux_vulkan_intel_driver_debug", + "path": "linux_vulkan_intel_driver_debug", + "version": "version:4" + } + ], + "dependencies": [ + "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage", + "Housekeeper-PerCommit-BundleRecipes" + ], + "dimensions": [ + "gpu:8086:5926", + "os:Ubuntu-16.10", + "pool:Skia" + ], + "execution_timeout_ns": 14400000000000, + "expiration_ns": 72000000000000, + "extra_args": [ + "--workdir", + "../../..", + "test", + "repository=<(REPO)", + "buildername=Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage", + "swarm_out_dir=${ISOLATED_OUTDIR}", + "revision=<(REVISION)", + "patch_repo=<(PATCH_REPO)", + "patch_storage=<(PATCH_STORAGE)", + "patch_issue=<(ISSUE)", + "patch_set=<(PATCHSET)" + ], + "io_timeout_ns": 2400000000000, + "isolate": "test_skia_bundled_unix.isolate", + "max_attempts": 1, + "priority": 0.8 + }, "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release": { "cipd_packages": [ { @@ -25264,6 +25426,41 @@ "isolate": "upload_dm_results.isolate", "priority": 0.8 }, + "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage": { + "cipd_packages": [ + { + "name": "skia/bots/clang_linux", + "path": "clang_linux", + "version": "version:10" + } + ], + "dependencies": [ + "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage", + "Build-Debian9-Clang-x86_64-Debug-Coverage" + ], + "dimensions": [ + "cpu:x86-64-Haswell_GCE", + "gpu:none", + "os:Debian-9.1", + "pool:Skia" + ], + "extra_args": [ + "--workdir", + "../../..", + "upload_coverage_results", + "repository=<(REPO)", + "buildername=Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Coverage", + "swarm_out_dir=${ISOLATED_OUTDIR}", + "revision=<(REVISION)", + "patch_repo=<(PATCH_REPO)", + "patch_storage=<(PATCH_STORAGE)", + "patch_issue=<(ISSUE)", + "patch_set=<(PATCHSET)", + "gs_bucket=skia-coverage" + ], + "isolate": "upload_coverage_results.isolate", + "priority": 0.8 + }, "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan": { "dependencies": [ "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan" @@ -25291,6 +25488,41 @@ "isolate": "upload_dm_results.isolate", "priority": 0.8 }, + "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage": { + "cipd_packages": [ + { + "name": "skia/bots/clang_linux", + "path": "clang_linux", + "version": "version:10" + } + ], + "dependencies": [ + "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage", + "Build-Debian9-Clang-x86_64-Debug-Vulkan_Coverage" + ], + "dimensions": [ + "cpu:x86-64-Haswell_GCE", + "gpu:none", + "os:Debian-9.1", + "pool:Skia" + ], + "extra_args": [ + "--workdir", + "../../..", + "upload_coverage_results", + "repository=<(REPO)", + "buildername=Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-Vulkan_Coverage", + "swarm_out_dir=${ISOLATED_OUTDIR}", + "revision=<(REVISION)", + "patch_repo=<(PATCH_REPO)", + "patch_storage=<(PATCH_STORAGE)", + "patch_issue=<(ISSUE)", + "patch_set=<(PATCHSET)", + "gs_bucket=skia-coverage" + ], + "isolate": "upload_coverage_results.isolate", + "priority": 0.8 + }, "Upload-Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release": { "dependencies": [ "Test-Ubuntu16-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Release" -- cgit v1.2.3