2019-09-16 16:38:04 +00:00
[
{
"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" : [
"python" ,
"-u" ,
"import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
] ,
"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" : [
"/usr/bin/adb.1.0.35" ,
"shell" ,
"mkdir" ,
"-p" ,
"/sdcard/revenge_of_the_skiabot/resources"
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
"name" : "mkdir /sdcard/revenge_of_the_skiabot/resources"
} ,
{
"cmd" : [
2020-02-24 21:45:14 +00:00
"python" ,
2019-09-16 16:38:04 +00:00
"-u" ,
2020-02-24 21:45:14 +00:00
"\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\nvalue = int(sys.argv[3])\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\n# If we try to echo 1 to an already online cpu, adb returns exit code 1.\n# So, check the value before trying to write it.\nprior_status = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif prior_status == str(value):\n print 'CPU %d online already %d' % (cpu, value)\n sys.exit()\n\nsubprocess.check_output([ADB, 'shell', 'echo %s > '\n '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])\nactual_status = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif actual_status != str(value):\n raise Exception('(actual, expected) (%s, %d)'\n % (actual_status, value))\n" ,
2019-10-14 17:03:50 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"0" ,
"1"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "Enabling CPU 0" ,
"timeout" : 30 ,
2019-09-16 16:38:04 +00:00
"~followup_annotations" : [
2020-02-24 21:45:14 +00:00
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import os@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@import time@@@" ,
"@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@" ,
"@@@STEP_LOG_LINE@python.inline@value = int(sys.argv[3])@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@" ,
"@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@" ,
"@@@STEP_LOG_LINE@python.inline@print log@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# If we try to echo 1 to an already online cpu, adb returns exit code 1.@@@" ,
"@@@STEP_LOG_LINE@python.inline@# So, check the value before trying to write it.@@@" ,
"@@@STEP_LOG_LINE@python.inline@prior_status = subprocess.check_output([ADB, 'shell', 'cat '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@" ,
"@@@STEP_LOG_LINE@python.inline@if prior_status == str(value):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print 'CPU %d online already %d' % (cpu, value)@@@" ,
"@@@STEP_LOG_LINE@python.inline@ sys.exit()@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %s > '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])@@@" ,
"@@@STEP_LOG_LINE@python.inline@actual_status = subprocess.check_output([ADB, 'shell', 'cat '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@" ,
"@@@STEP_LOG_LINE@python.inline@if actual_status != str(value):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@" ,
"@@@STEP_LOG_LINE@python.inline@ % (actual_status, value))@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
2019-10-14 17:03:50 +00:00
]
} ,
{
"cmd" : [
2020-02-24 21:45:14 +00:00
"python" ,
"-u" ,
"\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\nvalue = int(sys.argv[3])\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\n# If we try to echo 1 to an already online cpu, adb returns exit code 1.\n# So, check the value before trying to write it.\nprior_status = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif prior_status == str(value):\n print 'CPU %d online already %d' % (cpu, value)\n sys.exit()\n\nsubprocess.check_output([ADB, 'shell', 'echo %s > '\n '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])\nactual_status = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif actual_status != str(value):\n raise Exception('(actual, expected) (%s, %d)'\n % (actual_status, value))\n" ,
2019-10-14 17:03:50 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"1" ,
"1"
2019-10-14 17:03:50 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "Enabling CPU 1" ,
"timeout" : 30 ,
2019-10-14 17:03:50 +00:00
"~followup_annotations" : [
2020-02-24 21:45:14 +00:00
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import os@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@import time@@@" ,
"@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@" ,
"@@@STEP_LOG_LINE@python.inline@value = int(sys.argv[3])@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@" ,
"@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@" ,
"@@@STEP_LOG_LINE@python.inline@print log@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# If we try to echo 1 to an already online cpu, adb returns exit code 1.@@@" ,
"@@@STEP_LOG_LINE@python.inline@# So, check the value before trying to write it.@@@" ,
"@@@STEP_LOG_LINE@python.inline@prior_status = subprocess.check_output([ADB, 'shell', 'cat '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@" ,
"@@@STEP_LOG_LINE@python.inline@if prior_status == str(value):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print 'CPU %d online already %d' % (cpu, value)@@@" ,
"@@@STEP_LOG_LINE@python.inline@ sys.exit()@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %s > '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])@@@" ,
"@@@STEP_LOG_LINE@python.inline@actual_status = subprocess.check_output([ADB, 'shell', 'cat '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@" ,
"@@@STEP_LOG_LINE@python.inline@if actual_status != str(value):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@" ,
"@@@STEP_LOG_LINE@python.inline@ % (actual_status, value))@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
2019-10-14 17:03:50 +00:00
]
} ,
{
"cmd" : [
2020-02-24 21:45:14 +00:00
"python" ,
"-u" ,
"\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\nvalue = int(sys.argv[3])\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\n# If we try to echo 1 to an already online cpu, adb returns exit code 1.\n# So, check the value before trying to write it.\nprior_status = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif prior_status == str(value):\n print 'CPU %d online already %d' % (cpu, value)\n sys.exit()\n\nsubprocess.check_output([ADB, 'shell', 'echo %s > '\n '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])\nactual_status = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif actual_status != str(value):\n raise Exception('(actual, expected) (%s, %d)'\n % (actual_status, value))\n" ,
2019-10-14 17:03:50 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"2" ,
"1"
2019-10-14 17:03:50 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "Enabling CPU 2" ,
"timeout" : 30 ,
2019-10-30 21:44:56 +00:00
"~followup_annotations" : [
2020-02-24 21:45:14 +00:00
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import os@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@import time@@@" ,
"@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@" ,
"@@@STEP_LOG_LINE@python.inline@value = int(sys.argv[3])@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@" ,
"@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@" ,
"@@@STEP_LOG_LINE@python.inline@print log@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# If we try to echo 1 to an already online cpu, adb returns exit code 1.@@@" ,
"@@@STEP_LOG_LINE@python.inline@# So, check the value before trying to write it.@@@" ,
"@@@STEP_LOG_LINE@python.inline@prior_status = subprocess.check_output([ADB, 'shell', 'cat '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@" ,
"@@@STEP_LOG_LINE@python.inline@if prior_status == str(value):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print 'CPU %d online already %d' % (cpu, value)@@@" ,
"@@@STEP_LOG_LINE@python.inline@ sys.exit()@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %s > '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])@@@" ,
"@@@STEP_LOG_LINE@python.inline@actual_status = subprocess.check_output([ADB, 'shell', 'cat '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@" ,
"@@@STEP_LOG_LINE@python.inline@if actual_status != str(value):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@" ,
"@@@STEP_LOG_LINE@python.inline@ % (actual_status, value))@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
2019-10-30 21:44:56 +00:00
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
2020-02-24 21:45:14 +00:00
"python" ,
2019-09-16 16:38:04 +00:00
"-u" ,
2020-02-24 21:45:14 +00:00
"\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\nvalue = int(sys.argv[3])\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\n# If we try to echo 1 to an already online cpu, adb returns exit code 1.\n# So, check the value before trying to write it.\nprior_status = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif prior_status == str(value):\n print 'CPU %d online already %d' % (cpu, value)\n sys.exit()\n\nsubprocess.check_output([ADB, 'shell', 'echo %s > '\n '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])\nactual_status = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()\nif actual_status != str(value):\n raise Exception('(actual, expected) (%s, %d)'\n % (actual_status, value))\n" ,
2019-09-16 16:38:04 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"3" ,
"1"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "Enabling CPU 3" ,
"timeout" : 30 ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import os@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@import time@@@" ,
"@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@" ,
"@@@STEP_LOG_LINE@python.inline@value = int(sys.argv[3])@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@" ,
"@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@" ,
"@@@STEP_LOG_LINE@python.inline@print log@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# If we try to echo 1 to an already online cpu, adb returns exit code 1.@@@" ,
"@@@STEP_LOG_LINE@python.inline@# So, check the value before trying to write it.@@@" ,
"@@@STEP_LOG_LINE@python.inline@prior_status = subprocess.check_output([ADB, 'shell', 'cat '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@" ,
"@@@STEP_LOG_LINE@python.inline@if prior_status == str(value):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print 'CPU %d online already %d' % (cpu, value)@@@" ,
"@@@STEP_LOG_LINE@python.inline@ sys.exit()@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %s > '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % (value, cpu)])@@@" ,
"@@@STEP_LOG_LINE@python.inline@actual_status = subprocess.check_output([ADB, 'shell', 'cat '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/online' % cpu]).strip()@@@" ,
"@@@STEP_LOG_LINE@python.inline@if actual_status != str(value):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@" ,
"@@@STEP_LOG_LINE@python.inline@ % (actual_status, value))@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
2020-02-24 21:45:14 +00:00
"python" ,
"-u" ,
"\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\ngov = sys.argv[3]\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\nsubprocess.check_output([ADB, 'shell', 'echo \"%s\" > '\n '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])\nactual_gov = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()\nif actual_gov != gov:\n raise Exception('(actual, expected) (%s, %s)'\n % (actual_gov, gov))\n" ,
2019-09-16 16:38:04 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"4" ,
"ondemand"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "Set CPU 4's governor to ondemand" ,
"timeout" : 30 ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import os@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@import time@@@" ,
"@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@" ,
"@@@STEP_LOG_LINE@python.inline@gov = sys.argv[3]@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@" ,
"@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@" ,
"@@@STEP_LOG_LINE@python.inline@print log@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])@@@" ,
"@@@STEP_LOG_LINE@python.inline@actual_gov = subprocess.check_output([ADB, 'shell', 'cat '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()@@@" ,
"@@@STEP_LOG_LINE@python.inline@if actual_gov != gov:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %s)'@@@" ,
"@@@STEP_LOG_LINE@python.inline@ % (actual_gov, gov))@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
2020-02-24 21:45:14 +00:00
"python" ,
"-u" ,
"\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\ngov = sys.argv[3]\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\nsubprocess.check_output([ADB, 'shell', 'echo \"%s\" > '\n '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])\nactual_gov = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()\nif actual_gov != gov:\n raise Exception('(actual, expected) (%s, %s)'\n % (actual_gov, gov))\n" ,
2019-09-16 16:38:04 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"0" ,
"ondemand"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "Set CPU 0's governor to ondemand" ,
"timeout" : 30 ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import os@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@import time@@@" ,
"@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@" ,
"@@@STEP_LOG_LINE@python.inline@gov = sys.argv[3]@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@" ,
"@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@" ,
"@@@STEP_LOG_LINE@python.inline@print log@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])@@@" ,
"@@@STEP_LOG_LINE@python.inline@actual_gov = subprocess.check_output([ADB, 'shell', 'cat '@@@" ,
"@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()@@@" ,
"@@@STEP_LOG_LINE@python.inline@if actual_gov != gov:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %s)'@@@" ,
"@@@STEP_LOG_LINE@python.inline@ % (actual_gov, gov))@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"push" ,
"[START_DIR]/build/dm" ,
"/data/local/tmp/"
2019-09-16 16:38:04 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "push dm"
2019-09-16 16:38:04 +00:00
} ,
2021-02-19 15:53:27 +00:00
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
2021-02-24 14:29:14 +00:00
"glob" ,
2021-02-19 15:53:27 +00:00
"[START_DIR]/skia/resources" ,
2021-02-24 14:29:14 +00:00
"*"
2021-02-19 15:53:27 +00:00
] ,
"infra_step" : true ,
2021-02-24 14:29:14 +00:00
"name" : "ls [START_DIR]/skia/resources/*" ,
2021-02-19 15:53:27 +00:00
"~followup_annotations" : [
2021-02-24 14:29:14 +00:00
"@@@STEP_LOG_LINE@glob@[START_DIR]/skia/resources/bar.jpg@@@" ,
"@@@STEP_LOG_LINE@glob@[START_DIR]/skia/resources/foo.png@@@" ,
"@@@STEP_LOG_END@glob@@@"
2021-02-19 15:53:27 +00:00
]
} ,
2019-10-14 17:03:50 +00:00
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"push" ,
2021-02-24 14:29:14 +00:00
"[START_DIR]/skia/resources/bar.jpg" ,
"[START_DIR]/skia/resources/foo.png" ,
"/sdcard/revenge_of_the_skiabot/resources"
2021-02-19 15:53:27 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2021-02-24 14:29:14 +00:00
"name" : "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"copy" ,
2020-02-24 21:45:14 +00:00
"[START_DIR]/skia/infra/bots/assets/skp/VERSION" ,
2019-09-16 16:38:04 +00:00
"/path/to/tmp/"
] ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "Get skp VERSION" ,
2019-10-30 21:44:56 +00:00
"~followup_annotations" : [
"@@@STEP_LOG_LINE@VERSION@42@@@" ,
"@@@STEP_LOG_END@VERSION@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"copy" ,
"42" ,
2020-02-24 21:45:14 +00:00
"[START_DIR]/tmp/SKP_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "write SKP_VERSION" ,
2019-09-16 16:38:04 +00:00
"~followup_annotations" : [
2020-02-24 21:45:14 +00:00
"@@@STEP_LOG_LINE@SKP_VERSION@42@@@" ,
"@@@STEP_LOG_END@SKP_VERSION@@@"
2019-09-16 16:38:04 +00:00
]
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"shell" ,
"cat" ,
2020-02-24 21:45:14 +00:00
"/sdcard/revenge_of_the_skiabot/SKP_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "read /sdcard/revenge_of_the_skiabot/SKP_VERSION"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
2020-08-04 18:19:16 +00:00
"python" ,
"-u" ,
"\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n" ,
2019-09-16 16:38:04 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"/sdcard/revenge_of_the_skiabot/SKP_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-08-04 18:19:16 +00:00
"name" : "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@" ,
"@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@" ,
"@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = e.output@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(output)@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
2020-08-04 18:19:16 +00:00
"python" ,
"-u" ,
"\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n" ,
2019-09-16 16:38:04 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"/sdcard/revenge_of_the_skiabot/skps"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-08-04 18:19:16 +00:00
"name" : "rm /sdcard/revenge_of_the_skiabot/skps" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@" ,
"@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@" ,
"@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = e.output@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(output)@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"shell" ,
"mkdir" ,
"-p" ,
2020-02-24 21:45:14 +00:00
"/sdcard/revenge_of_the_skiabot/skps"
2019-09-16 16:38:04 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "mkdir /sdcard/revenge_of_the_skiabot/skps"
2019-09-16 16:38:04 +00:00
} ,
2021-02-19 15:53:27 +00:00
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
2021-02-24 14:29:14 +00:00
"glob" ,
2021-02-19 15:53:27 +00:00
"[START_DIR]/skp" ,
2021-02-24 14:29:14 +00:00
"*"
2021-02-19 15:53:27 +00:00
] ,
"infra_step" : true ,
2021-02-24 14:29:14 +00:00
"name" : "ls [START_DIR]/skp/*" ,
2021-02-19 15:53:27 +00:00
"~followup_annotations" : [
2021-02-24 14:29:14 +00:00
"@@@STEP_LOG_LINE@glob@[START_DIR]/skp/bar.jpg@@@" ,
"@@@STEP_LOG_LINE@glob@[START_DIR]/skp/foo.png@@@" ,
"@@@STEP_LOG_END@glob@@@"
2021-02-19 15:53:27 +00:00
]
} ,
2019-10-14 17:03:50 +00:00
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"push" ,
2021-02-24 14:29:14 +00:00
"[START_DIR]/skp/bar.jpg" ,
"[START_DIR]/skp/foo.png" ,
"/sdcard/revenge_of_the_skiabot/skps"
2021-02-19 15:53:27 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2021-02-24 14:29:14 +00:00
"name" : "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"push" ,
2020-02-24 21:45:14 +00:00
"[START_DIR]/tmp/SKP_VERSION" ,
"/sdcard/revenge_of_the_skiabot/SKP_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"copy" ,
2020-02-24 21:45:14 +00:00
"[START_DIR]/skia/infra/bots/assets/skimage/VERSION" ,
2019-09-16 16:38:04 +00:00
"/path/to/tmp/"
] ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "Get skimage VERSION" ,
2019-10-30 21:44:56 +00:00
"~followup_annotations" : [
"@@@STEP_LOG_LINE@VERSION@42@@@" ,
"@@@STEP_LOG_END@VERSION@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"copy" ,
"42" ,
2020-02-24 21:45:14 +00:00
"[START_DIR]/tmp/SK_IMAGE_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "write SK_IMAGE_VERSION" ,
2019-09-16 16:38:04 +00:00
"~followup_annotations" : [
2020-02-24 21:45:14 +00:00
"@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@" ,
"@@@STEP_LOG_END@SK_IMAGE_VERSION@@@"
2019-09-16 16:38:04 +00:00
]
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"shell" ,
"cat" ,
2020-02-24 21:45:14 +00:00
"/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
2020-08-04 18:19:16 +00:00
"python" ,
"-u" ,
"\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n" ,
2019-09-16 16:38:04 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-08-04 18:19:16 +00:00
"name" : "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@" ,
"@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@" ,
"@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = e.output@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(output)@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
2020-08-04 18:19:16 +00:00
"python" ,
"-u" ,
"\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n" ,
2019-09-16 16:38:04 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"/sdcard/revenge_of_the_skiabot/images"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-08-04 18:19:16 +00:00
"name" : "rm /sdcard/revenge_of_the_skiabot/images" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@" ,
"@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@" ,
"@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = e.output@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(output)@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"shell" ,
"mkdir" ,
"-p" ,
2020-02-24 21:45:14 +00:00
"/sdcard/revenge_of_the_skiabot/images"
2019-09-16 16:38:04 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "mkdir /sdcard/revenge_of_the_skiabot/images"
2019-09-16 16:38:04 +00:00
} ,
2021-02-19 15:53:27 +00:00
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
2021-02-24 14:29:14 +00:00
"glob" ,
2021-02-19 15:53:27 +00:00
"[START_DIR]/skimage" ,
2021-02-24 14:29:14 +00:00
"*"
2021-02-19 15:53:27 +00:00
] ,
"infra_step" : true ,
2021-02-24 14:29:14 +00:00
"name" : "ls [START_DIR]/skimage/*" ,
2021-02-19 15:53:27 +00:00
"~followup_annotations" : [
2021-02-24 14:29:14 +00:00
"@@@STEP_LOG_LINE@glob@[START_DIR]/skimage/bar.jpg@@@" ,
"@@@STEP_LOG_LINE@glob@[START_DIR]/skimage/foo.png@@@" ,
"@@@STEP_LOG_END@glob@@@"
2021-02-19 15:53:27 +00:00
]
} ,
2019-10-14 17:03:50 +00:00
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"push" ,
2021-02-24 14:29:14 +00:00
"[START_DIR]/skimage/bar.jpg" ,
"[START_DIR]/skimage/foo.png" ,
"/sdcard/revenge_of_the_skiabot/images"
2021-02-19 15:53:27 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2021-02-24 14:29:14 +00:00
"name" : "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"push" ,
2020-02-24 21:45:14 +00:00
"[START_DIR]/tmp/SK_IMAGE_VERSION" ,
"/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
2020-02-24 21:45:14 +00:00
"copy" ,
"[START_DIR]/skia/infra/bots/assets/svg/VERSION" ,
"/path/to/tmp/"
2019-09-16 16:38:04 +00:00
] ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "Get svg VERSION" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@VERSION@42@@@" ,
"@@@STEP_LOG_END@VERSION@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
2020-02-24 21:45:14 +00:00
"copy" ,
"42" ,
"[START_DIR]/tmp/SVG_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "write SVG_VERSION" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@SVG_VERSION@42@@@" ,
"@@@STEP_LOG_END@SVG_VERSION@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"shell" ,
2020-02-24 21:45:14 +00:00
"cat" ,
"/sdcard/revenge_of_the_skiabot/SVG_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "read /sdcard/revenge_of_the_skiabot/SVG_VERSION"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
2020-08-04 18:19:16 +00:00
"python" ,
"-u" ,
"\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n" ,
2019-09-16 16:38:04 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"/sdcard/revenge_of_the_skiabot/SVG_VERSION"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-08-04 18:19:16 +00:00
"name" : "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@" ,
"@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@" ,
"@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = e.output@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(output)@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
2020-08-04 18:19:16 +00:00
"python" ,
"-u" ,
"\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n" ,
2020-02-24 21:45:14 +00:00
"/usr/bin/adb.1.0.35" ,
"/sdcard/revenge_of_the_skiabot/svgs"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-08-04 18:19:16 +00:00
"name" : "rm /sdcard/revenge_of_the_skiabot/svgs" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@" ,
"@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@" ,
"@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = e.output@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(output)@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"shell" ,
"mkdir" ,
"-p" ,
"/sdcard/revenge_of_the_skiabot/svgs"
2019-09-16 16:38:04 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "mkdir /sdcard/revenge_of_the_skiabot/svgs"
} ,
2021-02-19 15:53:27 +00:00
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
2021-02-24 14:29:14 +00:00
"glob" ,
2021-02-19 15:53:27 +00:00
"[START_DIR]/svg" ,
2021-02-24 14:29:14 +00:00
"*"
2021-02-19 15:53:27 +00:00
] ,
"infra_step" : true ,
2021-02-24 14:29:14 +00:00
"name" : "ls [START_DIR]/svg/*" ,
2021-02-19 15:53:27 +00:00
"~followup_annotations" : [
2021-02-24 14:29:14 +00:00
"@@@STEP_LOG_LINE@glob@[START_DIR]/svg/bar.jpg@@@" ,
"@@@STEP_LOG_LINE@glob@[START_DIR]/svg/foo.png@@@" ,
"@@@STEP_LOG_END@glob@@@"
2021-02-19 15:53:27 +00:00
]
} ,
2019-09-16 16:38:04 +00:00
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"push" ,
2021-02-24 14:29:14 +00:00
"[START_DIR]/svg/bar.jpg" ,
"[START_DIR]/svg/foo.png" ,
"/sdcard/revenge_of_the_skiabot/svgs"
2021-02-19 15:53:27 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2021-02-24 14:29:14 +00:00
"name" : "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"push" ,
"[START_DIR]/tmp/SVG_VERSION" ,
"/sdcard/revenge_of_the_skiabot/SVG_VERSION"
2019-09-16 16:38:04 +00:00
] ,
2020-02-24 21:45:14 +00:00
"cwd" : "[START_DIR]/skia" ,
2019-09-16 16:38:04 +00:00
"env" : {
2020-02-24 21:45:14 +00:00
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
2019-09-16 16:38:04 +00:00
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
2020-02-24 21:45:14 +00:00
"vpython" ,
2019-09-16 16:38:04 +00:00
"-u" ,
2020-02-24 21:45:14 +00:00
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"rmtree" ,
"[START_DIR]/test"
] ,
"infra_step" : true ,
"name" : "rmtree test"
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"ensure-directory" ,
"--mode" ,
"0777" ,
"[START_DIR]/test"
] ,
"infra_step" : true ,
"name" : "makedirs test"
} ,
{
"cmd" : [
2020-08-04 18:19:16 +00:00
"python" ,
"-u" ,
"\nimport subprocess\nimport sys\n\n# Remove the path.\nadb = sys.argv[1]\npath = sys.argv[2]\nprint('Removing %s' % path)\ncmd = [adb, 'shell', 'rm', '-rf', path]\nprint(' '.join(cmd))\nsubprocess.check_call(cmd)\n\n# Verify that the path was deleted.\nprint('Checking for existence of %s' % path)\ncmd = [adb, 'shell', 'ls', path]\nprint(' '.join(cmd))\ntry:\n output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)\nexcept subprocess.CalledProcessError as e:\n output = e.output\nprint('Output was:')\nprint('======')\nprint(output)\nprint('======')\nif 'No such file or directory' not in output:\n raise Exception('%s exists despite being deleted' % path)\n" ,
2019-09-16 16:38:04 +00:00
"/usr/bin/adb.1.0.35" ,
2020-02-24 21:45:14 +00:00
"/sdcard/revenge_of_the_skiabot/dm_out"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-08-04 18:19:16 +00:00
"name" : "rm /sdcard/revenge_of_the_skiabot/dm_out" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Remove the path.@@@" ,
"@@@STEP_LOG_LINE@python.inline@adb = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@path = sys.argv[2]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Removing %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'rm', '-rf', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_call(cmd)@@@" ,
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@# Verify that the path was deleted.@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Checking for existence of %s' % path)@@@" ,
"@@@STEP_LOG_LINE@python.inline@cmd = [adb, 'shell', 'ls', path]@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(' '.join(cmd))@@@" ,
"@@@STEP_LOG_LINE@python.inline@try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)@@@" ,
"@@@STEP_LOG_LINE@python.inline@except subprocess.CalledProcessError as e:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ output = e.output@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('Output was:')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@print(output)@@@" ,
"@@@STEP_LOG_LINE@python.inline@print('======')@@@" ,
"@@@STEP_LOG_LINE@python.inline@if 'No such file or directory' not in output:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise Exception('%s exists despite being deleted' % path)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
2020-02-24 21:45:14 +00:00
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"shell" ,
"mkdir" ,
"-p" ,
"/sdcard/revenge_of_the_skiabot/dm_out"
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
"name" : "mkdir /sdcard/revenge_of_the_skiabot/dm_out"
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"python" ,
"-u" ,
2020-02-24 21:45:14 +00:00
"\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = sys.argv[1]\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n try:\n with contextlib.closing(\n urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n hashes = w.read()\n with open(sys.argv[2], 'w') as f:\n f.write(hashes)\n break\n except Exception as e:\n print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n print e\n if retry == RETRIES:\n raise\n waittime = WAIT_BASE * math.pow(2, retry)\n print 'Retry in %d seconds.' % waittime\n time.sleep(waittime)\n" ,
"https://example.com/hashes.txt" ,
"[START_DIR]/tmp/uninteresting_hashes.txt"
2019-09-16 16:38:04 +00:00
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "get uninteresting hashes" ,
2019-09-16 16:38:04 +00:00
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
2020-02-24 21:45:14 +00:00
"@@@STEP_LOG_LINE@python.inline@import contextlib@@@" ,
"@@@STEP_LOG_LINE@python.inline@import math@@@" ,
"@@@STEP_LOG_LINE@python.inline@import socket@@@" ,
2019-09-16 16:38:04 +00:00
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@import time@@@" ,
2020-02-24 21:45:14 +00:00
"@@@STEP_LOG_LINE@python.inline@import urllib2@@@" ,
2019-09-16 16:38:04 +00:00
"@@@STEP_LOG_LINE@python.inline@@@@" ,
2020-02-24 21:45:14 +00:00
"@@@STEP_LOG_LINE@python.inline@HASHES_URL = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@" ,
"@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@" ,
"@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@" ,
2019-09-16 16:38:04 +00:00
"@@@STEP_LOG_LINE@python.inline@@@@" ,
2020-02-24 21:45:14 +00:00
"@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@" ,
"@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ with contextlib.closing(@@@" ,
"@@@STEP_LOG_LINE@python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ hashes = w.read()@@@" ,
"@@@STEP_LOG_LINE@python.inline@ with open(sys.argv[2], 'w') as f:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ f.write(hashes)@@@" ,
"@@@STEP_LOG_LINE@python.inline@ break@@@" ,
"@@@STEP_LOG_LINE@python.inline@ except Exception as e:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print e@@@" ,
"@@@STEP_LOG_LINE@python.inline@ if retry == RETRIES:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ raise@@@" ,
"@@@STEP_LOG_LINE@python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print 'Retry in %d seconds.' % waittime@@@" ,
"@@@STEP_LOG_LINE@python.inline@ time.sleep(waittime)@@@" ,
2019-09-16 16:38:04 +00:00
"@@@STEP_LOG_END@python.inline@@@"
]
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"push" ,
2020-02-24 21:45:14 +00:00
"[START_DIR]/tmp/uninteresting_hashes.txt" ,
"/sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt"
2019-09-16 16:38:04 +00:00
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
2020-02-24 21:45:14 +00:00
"name" : "push [START_DIR]/tmp/uninteresting_hashes.txt /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt"
} ,
{
"cmd" : [
"python" ,
"-u" ,
"import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
] ,
"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@@@"
]
2019-09-16 16:38:04 +00:00
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"copy" ,
2021-02-01 14:30:03 +00:00
"set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/dm --example --flags --properties bot skia-bot-123 key1 value1 task 123456 --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --svgs /sdcard/revenge_of_the_skiabot/svgs/svg --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out; echo $? >/data/local/tmp/rc" ,
2019-09-16 16:38:04 +00:00
"[START_DIR]/tmp/dm.sh"
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
"name" : "write dm.sh" ,
"~followup_annotations" : [
2021-02-01 14:30:03 +00:00
"@@@STEP_LOG_LINE@dm.sh@set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/dm --example --flags --properties bot skia-bot-123 key1 value1 task 123456 --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --svgs /sdcard/revenge_of_the_skiabot/svgs/svg --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out; echo $? >/data/local/tmp/rc@@@" ,
2019-09-16 16:38:04 +00:00
"@@@STEP_LOG_END@dm.sh@@@"
]
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"push" ,
"[START_DIR]/tmp/dm.sh" ,
"/data/local/tmp/"
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
"name" : "push dm.sh"
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"logcat" ,
"-c"
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
"name" : "clear log"
} ,
{
"cmd" : [
"python" ,
"-u" ,
"\nimport subprocess\nimport sys\nbin_dir = sys.argv[1]\nsh = sys.argv[2]\nsubprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])\ntry:\n sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',\n bin_dir + 'rc'])))\nexcept ValueError:\n print \"Couldn't read the return code. Probably killed for OOM.\"\n sys.exit(1)\n" ,
"/data/local/tmp/" ,
"dm.sh"
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"name" : "dm" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@sh = sys.argv[2]@@@" ,
"@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])@@@" ,
"@@@STEP_LOG_LINE@python.inline@try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',@@@" ,
"@@@STEP_LOG_LINE@python.inline@ bin_dir + 'rc'])))@@@" ,
"@@@STEP_LOG_LINE@python.inline@except ValueError:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ print \"Couldn't read the return code. Probably killed for OOM.\"@@@" ,
"@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
} ,
{
"cmd" : [ ] ,
"name" : "adb pull"
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"pull" ,
"/sdcard/revenge_of_the_skiabot/dm_out" ,
"[CLEANUP]/adb_pull_tmp_1"
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
"name" : "adb pull.pull /sdcard/revenge_of_the_skiabot/dm_out" ,
"~followup_annotations" : [
"@@@STEP_NEST_LEVEL@1@@@"
]
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"glob" ,
"[CLEANUP]/adb_pull_tmp_1" ,
"dm_out/*"
] ,
"infra_step" : true ,
"name" : "adb pull.list pulled files" ,
"~followup_annotations" : [
"@@@STEP_NEST_LEVEL@1@@@" ,
"@@@STEP_LOG_LINE@glob@[CLEANUP]/adb_pull_tmp_1/1.png@@@" ,
"@@@STEP_LOG_LINE@glob@[CLEANUP]/adb_pull_tmp_1/2.png@@@" ,
"@@@STEP_LOG_END@glob@@@"
]
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"copy" ,
"[CLEANUP]/adb_pull_tmp_1/1.png" ,
"[START_DIR]/[SWARM_OUT_DIR]"
] ,
"infra_step" : true ,
"name" : "adb pull.copy 1.png" ,
"~followup_annotations" : [
"@@@STEP_NEST_LEVEL@1@@@"
]
} ,
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"copy" ,
"[CLEANUP]/adb_pull_tmp_1/2.png" ,
"[START_DIR]/[SWARM_OUT_DIR]"
] ,
"infra_step" : true ,
"name" : "adb pull.copy 2.png" ,
"~followup_annotations" : [
"@@@STEP_NEST_LEVEL@1@@@"
]
} ,
2021-03-25 15:49:12 +00:00
{
"cmd" : [
"vpython" ,
"-u" ,
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
"--json-output" ,
"/path/to/tmp/json" ,
"glob" ,
"[START_DIR]/[SWARM_OUT_DIR]" ,
"*.png"
] ,
"infra_step" : true ,
"name" : "find .png images" ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@glob@[START_DIR]/[SWARM_OUT_DIR]/someimage.png@@@" ,
"@@@STEP_LOG_END@glob@@@"
]
} ,
{
"cmd" : [
"gsutil" ,
"-m" ,
"cp" ,
"[START_DIR]/[SWARM_OUT_DIR]/*.png" ,
"gs://skia-infra-gm/dm-images-v1"
] ,
"name" : "upload .png images"
} ,
{
"cmd" : [
"gsutil" ,
"cp" ,
"-Z" ,
"[START_DIR]/[SWARM_OUT_DIR]/dm.json" ,
"gs://skia-infra-gm/trybot/dm-json-v1/2012/05/14/12/1234_7/Test-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Debug-All-Android/1337000001/dm.json"
] ,
"name" : "upload dm.json"
} ,
2019-09-16 16:38:04 +00:00
{
"cmd" : [
"python" ,
"-u" ,
2019-12-21 00:06:12 +00:00
"\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])\nfor line in log.split('\\n'):\n tokens = line.split()\n if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':\n addr, path = tokens[-2:]\n local = os.path.join(out, os.path.basename(path))\n if os.path.exists(local):\n try:\n sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n line = line.replace(addr, addr + ' ' + sym.strip())\n except subprocess.CalledProcessError:\n pass\n print line\n" ,
2019-09-16 16:38:04 +00:00
"[START_DIR]/build"
] ,
"env" : {
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
"name" : "dump log" ,
"timeout" : 300 ,
"~followup_annotations" : [
"@@@STEP_LOG_LINE@python.inline@@@@" ,
"@@@STEP_LOG_LINE@python.inline@import os@@@" ,
"@@@STEP_LOG_LINE@python.inline@import subprocess@@@" ,
"@@@STEP_LOG_LINE@python.inline@import sys@@@" ,
"@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@" ,
"@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])@@@" ,
"@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@" ,
"@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@" ,
"@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@" ,
"@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@" ,
"@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@" ,
"@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@" ,
2019-12-21 00:06:12 +00:00
"@@@STEP_LOG_LINE@python.inline@ try:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@" ,
"@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@" ,
"@@@STEP_LOG_LINE@python.inline@ except subprocess.CalledProcessError:@@@" ,
"@@@STEP_LOG_LINE@python.inline@ pass@@@" ,
2019-09-16 16:38:04 +00:00
"@@@STEP_LOG_LINE@python.inline@ print line@@@" ,
"@@@STEP_LOG_END@python.inline@@@"
]
} ,
{
"cmd" : [
"/usr/bin/adb.1.0.35" ,
"kill-server"
] ,
"cwd" : "[START_DIR]/skia" ,
"env" : {
"ADB_VENDOR_KEYS" : "/home/chrome-bot/.android/adbkey" ,
"CHROME_HEADLESS" : "1" ,
"PATH" : "<PATH>:RECIPE_REPO[depot_tools]"
} ,
"infra_step" : true ,
"name" : "kill adb server"
} ,
{
"name" : "$result"
}
]