| [ |
| { |
| "cmd": [ |
| "python3", |
| "RECIPE_MODULE[skia::vars]/resources/get_env_var.py", |
| "SWARMING_BOT_ID" |
| ], |
| "name": "get swarming bot id" |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "push", |
| "file.txt", |
| "file.txt" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "push file.txt file.txt" |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "shell", |
| "test", |
| "-f", |
| "file.txt" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "check if file.txt exists" |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "shell", |
| "cat", |
| "file.txt" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "read file.txt" |
| }, |
| { |
| "cmd": [ |
| "python3", |
| "RECIPE_MODULE[skia::flavor]/resources/remove_file_on_device.py", |
| "/opt/infra-android/tools/adb", |
| "file.txt" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "rm file.txt" |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "rmtree", |
| "results_dir" |
| ], |
| "infra_step": true, |
| "name": "rmtree results_dir" |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0o777", |
| "results_dir" |
| ], |
| "infra_step": true, |
| "name": "makedirs results_dir" |
| }, |
| { |
| "cmd": [ |
| "python3", |
| "RECIPE_MODULE[skia::flavor]/resources/remove_file_on_device.py", |
| "/opt/infra-android/tools/adb", |
| "device_results_dir" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "rm device_results_dir" |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "shell", |
| "mkdir", |
| "-p", |
| "device_results_dir" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "mkdir device_results_dir" |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "shell", |
| "mkdir", |
| "-p", |
| "/sdcard/revenge_of_the_skiabot/resources" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "mkdir /sdcard/revenge_of_the_skiabot/resources", |
| "~followup_annotations": [ |
| "@@@STEP_EXCEPTION@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "kill-server" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "adb kill-server after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 1)", |
| "timeout": 30 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "wait-for-device" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "wait for device after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 1)", |
| "timeout": 180 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "devices", |
| "-l" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "adb devices -l after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 1)", |
| "timeout": 30 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "reboot" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "adb reboot device after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 1)", |
| "timeout": 30 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "wait-for-device", |
| "shell", |
| "while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "name": "wait for device after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 1) (2)", |
| "timeout": 180 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "root" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "name": "adb root", |
| "timeout": 180 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "shell", |
| "mkdir", |
| "-p", |
| "/sdcard/revenge_of_the_skiabot/resources" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "mkdir /sdcard/revenge_of_the_skiabot/resources (attempt 2)", |
| "~followup_annotations": [ |
| "@@@STEP_EXCEPTION@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "kill-server" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "adb kill-server after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 2)", |
| "timeout": 30 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "wait-for-device" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "wait for device after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 2)", |
| "timeout": 180 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "devices", |
| "-l" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "adb devices -l after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 2)", |
| "timeout": 30 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "reboot" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "adb reboot device after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 2)", |
| "timeout": 30 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "wait-for-device", |
| "shell", |
| "while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "name": "wait for device after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 2) (2)", |
| "timeout": 180 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "root" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "name": "adb root (2)", |
| "timeout": 180 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "shell", |
| "mkdir", |
| "-p", |
| "/sdcard/revenge_of_the_skiabot/resources" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "mkdir /sdcard/revenge_of_the_skiabot/resources (attempt 3)", |
| "~followup_annotations": [ |
| "@@@STEP_EXCEPTION@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "kill-server" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "adb kill-server after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 3)", |
| "timeout": 30 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "wait-for-device" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "wait for device after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 3)", |
| "timeout": 180 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "devices", |
| "-l" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "adb devices -l after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 3)", |
| "timeout": 30 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "reboot" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "adb reboot device after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 3)", |
| "timeout": 30 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "wait-for-device", |
| "shell", |
| "while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "name": "wait for device after failure of 'mkdir /sdcard/revenge_of_the_skiabot/resources' (attempt 3) (2)", |
| "timeout": 180 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "root" |
| ], |
| "cwd": "[START_DIR]/skia", |
| "env": { |
| "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "name": "adb root (3)", |
| "timeout": 180 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "reboot" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "adb reboot device", |
| "timeout": 30 |
| }, |
| { |
| "cmd": [ |
| "/opt/infra-android/tools/adb", |
| "wait-for-device", |
| "shell", |
| "while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "name": "wait for device after rebooting", |
| "timeout": 180 |
| }, |
| { |
| "cmd": [ |
| "python3", |
| "RECIPE_MODULE[skia::flavor]/resources/dump_adb_log.py", |
| "[START_DIR]/build", |
| "/opt/infra-android/tools/adb" |
| ], |
| "env": { |
| "CHROME_HEADLESS": "1", |
| "PATH": "<PATH>:RECIPE_REPO[depot_tools]" |
| }, |
| "infra_step": true, |
| "name": "dump log", |
| "timeout": 300 |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| " ", |
| "/home/chrome-bot/build123-m2--device5.force_quarantine" |
| ], |
| "infra_step": true, |
| "name": "Quarantining Bot", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@build123-m2--device5.force_quarantine@ @@@", |
| "@@@STEP_LOG_END@build123-m2--device5.force_quarantine@@@" |
| ] |
| }, |
| { |
| "failure": { |
| "humanReason": "Infra Failure: Step('mkdir /sdcard/revenge_of_the_skiabot/resources (attempt 3)') (retcode: 1)" |
| }, |
| "name": "$result" |
| } |
| ] |