| [ |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[START_DIR]/tmp" |
| ], |
| "infra_step": true, |
| "name": "makedirs tmp_dir" |
| }, |
| { |
| "cmd": [ |
| "ios.py" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "setup_device" |
| }, |
| { |
| "cmd": [ |
| "ideviceinstaller", |
| "-i", |
| "[START_DIR]/build/dm.app" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "install_dm" |
| }, |
| { |
| "cmd": [ |
| "ideviceinstaller", |
| "-i", |
| "[START_DIR]/build/nanobench.app" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "install_nanobench" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", |
| "[START_DIR]/skia/resources", |
| "resources" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "push_if_needed [START_DIR]/skia/resources" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-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/" |
| ], |
| "env": { |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" |
| }, |
| "infra_step": true, |
| "name": "Get skp VERSION" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "42", |
| "[START_DIR]/tmp/SKP_VERSION" |
| ], |
| "env": { |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" |
| }, |
| "infra_step": true, |
| "name": "write SKP_VERSION", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@SKP_VERSION@42@@@", |
| "@@@STEP_LOG_END@SKP_VERSION@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file", |
| "tmp/SKP_VERSION" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "cat_file tmp/SKP_VERSION" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", |
| "tmp/SKP_VERSION" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "rm tmp/SKP_VERSION" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", |
| "skps" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "rm skps" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", |
| "skps" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "mkdir skps" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", |
| "[START_DIR]/skp", |
| "skps" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "push_if_needed [START_DIR]/skp" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file", |
| "[START_DIR]/tmp/SKP_VERSION", |
| "tmp/SKP_VERSION" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "push_file [START_DIR]/tmp/SKP_VERSION" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-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/" |
| ], |
| "env": { |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" |
| }, |
| "infra_step": true, |
| "name": "Get skimage VERSION" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "42", |
| "[START_DIR]/tmp/SK_IMAGE_VERSION" |
| ], |
| "env": { |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" |
| }, |
| "infra_step": true, |
| "name": "write SK_IMAGE_VERSION", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@", |
| "@@@STEP_LOG_END@SK_IMAGE_VERSION@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file", |
| "tmp/SK_IMAGE_VERSION" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "cat_file tmp/SK_IMAGE_VERSION" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", |
| "tmp/SK_IMAGE_VERSION" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "rm tmp/SK_IMAGE_VERSION" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", |
| "images" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "rm images" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", |
| "images" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "mkdir images" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", |
| "[START_DIR]/skimage", |
| "images" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "push_if_needed [START_DIR]/skimage" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file", |
| "[START_DIR]/tmp/SK_IMAGE_VERSION", |
| "tmp/SK_IMAGE_VERSION" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "push_file [START_DIR]/tmp/SK_IMAGE_VERSION" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-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/" |
| ], |
| "env": { |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" |
| }, |
| "infra_step": true, |
| "name": "Get svg VERSION" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "42", |
| "[START_DIR]/tmp/SVG_VERSION" |
| ], |
| "env": { |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" |
| }, |
| "infra_step": true, |
| "name": "write SVG_VERSION", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@SVG_VERSION@42@@@", |
| "@@@STEP_LOG_END@SVG_VERSION@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file", |
| "tmp/SVG_VERSION" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "cat_file tmp/SVG_VERSION" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", |
| "tmp/SVG_VERSION" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "rm tmp/SVG_VERSION" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", |
| "svgs" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "rm svgs" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", |
| "svgs" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "mkdir svgs" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", |
| "[START_DIR]/svg", |
| "svgs" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "push_if_needed [START_DIR]/svg" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file", |
| "[START_DIR]/tmp/SVG_VERSION", |
| "tmp/SVG_VERSION" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "push_file [START_DIR]/tmp/SVG_VERSION" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", |
| "perf" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "rm perf" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", |
| "perf" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "mkdir perf" |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n" |
| ], |
| "env": { |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" |
| }, |
| "name": "get swarming bot id", |
| "~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" |
| ], |
| "env": { |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" |
| }, |
| "name": "get swarming task id", |
| "~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": [ |
| "idevice-app-runner", |
| "-s", |
| "com.google.nanobench", |
| "--args", |
| "-i", |
| "resources", |
| "--skps", |
| "skps", |
| "--images", |
| "images/nanobench", |
| "--svgs", |
| "svgs", |
| "--pre_log", |
| "--images", |
| "--gpuStatsDump", |
| "true", |
| "--scales", |
| "1.0", |
| "1.1", |
| "--skps", |
| "ignore_skps", |
| "--nocpu", |
| "--config", |
| "mtl", |
| "mtlmsaa4", |
| "--match", |
| "~blurroundrect", |
| "~patch_grid", |
| "~desk_carsvg", |
| "~keymobi", |
| "~path_hairline", |
| "~GLInstancedArraysBench", |
| "~inc0.gif", |
| "~inc1.gif", |
| "~incInterlaced.gif", |
| "~inc0.jpg", |
| "~incGray.jpg", |
| "~inc0.wbmp", |
| "~inc1.wbmp", |
| "~inc0.webp", |
| "~inc1.webp", |
| "~inc0.ico", |
| "~inc1.ico", |
| "~inc0.png", |
| "~inc1.png", |
| "~inc2.png", |
| "~inc12.png", |
| "~inc13.png", |
| "~inc14.png", |
| "~inc0.webp", |
| "~inc1.webp", |
| "--outResultsFile", |
| "perf/nanobench_abc123_1337000001.json", |
| "--properties", |
| "gitHash", |
| "abc123", |
| "swarming_bot_id", |
| "skia-bot-123", |
| "swarming_task_id", |
| "123456", |
| "--key", |
| "arch", |
| "arm64", |
| "compiler", |
| "Clang", |
| "cpu_or_gpu", |
| "GPU", |
| "cpu_or_gpu_value", |
| "PowerVRGX6450", |
| "extra_config", |
| "Metal", |
| "model", |
| "iPhone6", |
| "os", |
| "iOS" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "name": "nanobench" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[START_DIR]/[SWARM_OUT_DIR]" |
| ], |
| "env": { |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" |
| }, |
| "infra_step": true, |
| "name": "makedirs perf_dir" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/skia/platform_tools/ios/bin/ios_pull_if_needed", |
| "perf", |
| "[START_DIR]/[SWARM_OUT_DIR]" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "IOS_BUNDLE_ID": "com.google.nanobench", |
| "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "pull_if_needed perf" |
| }, |
| { |
| "name": "$result" |
| } |
| ] |