| [ |
| { |
| "cmd": [], |
| "name": "save logs", |
| "~followup_annotations": [ |
| "@@@STEP_LINK@description@https://url@@@", |
| "@@@STEP_FAILURE@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "save logs.logs", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "save logs.logs.glob", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "**/pip_install_log.txt", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.**/pip_install_log.txt", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*.bat", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*.bat", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*.compdb", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*.compdb", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*.gn", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*.gn", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*.graph", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*.graph", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*.json", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*.log", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*.log", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_LINE@glob@[START_DIR]/checkout/.ninja_log@@@", |
| "@@@STEP_LOG_LINE@glob@[START_DIR]/checkout/CMakeCache.txt@@@", |
| "@@@STEP_LOG_LINE@glob@[START_DIR]/checkout/coverage_reports/foo.tar.gz@@@", |
| "@@@STEP_LOG_LINE@glob@[START_DIR]/checkout/failure-summary.log@@@", |
| "@@@STEP_LOG_LINE@glob@[START_DIR]/checkout/links.json@@@", |
| "@@@STEP_LOG_LINE@glob@[START_DIR]/checkout/links.json@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*.sh", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*.sh", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*.txt", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*.txt", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*/*.cfg", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*/*.cfg", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*/*.ensure", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*/*.ensure", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*/*.json", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*/*.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*/*.log", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*/*.log", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*/*.txt", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*/*.txt", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "*_log", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.*_log", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "glob", |
| "[START_DIR]/checkout", |
| "coverage_reports/*.tar.gz", |
| "--hidden" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.glob.coverage_reports/*.tar.gz", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_END@glob@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/.ninja_log", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs..ninja_log", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_LINE@.ninja_log@2000 5000 0 medium 0@@@", |
| "@@@STEP_LOG_LINE@.ninja_log@3000 8000 0 long 0@@@", |
| "@@@STEP_LOG_LINE@.ninja_log@malformed line@@@", |
| "@@@STEP_LOG_LINE@.ninja_log@4000 5000 0 short 0@@@", |
| "@@@STEP_LOG_LINE@.ninja_log@5000 x 0 malformed-end-time 0@@@", |
| "@@@STEP_LOG_END@.ninja_log@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/coverage_reports/foo.tar.gz", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.foo.tar.gz", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/failure-summary.log", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.failure-summary.log", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_LINE@failure-summary.log@[5/10] foo.c@@@", |
| "@@@STEP_LOG_LINE@failure-summary.log@error: ???@@@", |
| "@@@STEP_LOG_END@failure-summary.log@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/links.json", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "save logs.logs.links.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_LINE@links.json@[@@@", |
| "@@@STEP_LOG_LINE@links.json@ {@@@", |
| "@@@STEP_LOG_LINE@links.json@ \"description\": \"description\",@@@", |
| "@@@STEP_LOG_LINE@links.json@ \"url\": \"https://url\"@@@", |
| "@@@STEP_LOG_LINE@links.json@ }@@@", |
| "@@@STEP_LOG_LINE@links.json@]@@@", |
| "@@@STEP_LOG_END@links.json@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "save logs.failure summary", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_SUMMARY_TEXT@```\n[5/10] foo.c\nerror: ???\n```@@@", |
| "@@@STEP_LOG_LINE@full contents@[5/10] foo.c@@@", |
| "@@@STEP_LOG_LINE@full contents@error: ???@@@", |
| "@@@STEP_LOG_END@full contents@@@", |
| "@@@STEP_FAILURE@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "save logs.longest build steps", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "save logs.longest build steps.long", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_SUMMARY_TEXT@5.0s@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "save logs.longest build steps.medium", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_SUMMARY_TEXT@3.0s@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "save logs.longest build steps.short", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_SUMMARY_TEXT@1.0s@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "ensure-directory", |
| "--mode", |
| "0777", |
| "[START_DIR]/export/build_logs" |
| ], |
| "infra_step": true, |
| "name": "save logs.mkdir build_logs", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "save logs.copy", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/.ninja_log", |
| "[START_DIR]/export/build_logs/.ninja_log" |
| ], |
| "infra_step": true, |
| "name": "save logs.copy..ninja_log", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/coverage_reports/foo.tar.gz", |
| "[START_DIR]/export/build_logs/foo.tar.gz" |
| ], |
| "infra_step": true, |
| "name": "save logs.copy.foo.tar.gz", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/failure-summary.log", |
| "[START_DIR]/export/build_logs/failure-summary.log" |
| ], |
| "infra_step": true, |
| "name": "save logs.copy.failure-summary.log", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython3", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[START_DIR]/checkout/links.json", |
| "[START_DIR]/export/build_logs/links.json" |
| ], |
| "infra_step": true, |
| "name": "save logs.copy.links.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "name": "$result" |
| } |
| ] |