blob: 061bc184b994942b91928a761de4b88d25377689 [file] [log] [blame] [edit]
[
{
"cmd": [
"echo",
"Hello World"
],
"name": "hello"
},
{
"cmd": [
"echo",
"Why hello, there."
],
"name": "hello (2)"
},
{
"cmd": [
"mkdir",
"-p",
"something"
],
"name": "mk subdir"
},
{
"cmd": [
"bash",
"-c",
"echo Why hello, there, in a subdir."
],
"cwd": "[START_DIR]/something",
"name": "something"
},
{
"cmd": [
"bash",
"-c",
"echo what happen"
],
"name": "start_dir ignored"
},
{
"cmd": [
"bash",
"-c",
"echo Good bye, $friend."
],
"env": {
"friend": "Darth Vader"
},
"name": "goodbye"
},
{
"cmd": [
"recipes.py",
"--help"
],
"env": {
"PATH": "RECIPE_REPO[recipe_engine]:<PATH>"
},
"name": "recipes help"
},
{
"cmd": [
"bash",
"-c",
"exit 3"
],
"name": "anything is cool"
},
{
"cmd": [
"echo",
"hello"
],
"name": "hello (3)",
"~followup_annotations": [
"@@@STEP_LOG_LINE@the reason@The reason@@@",
"@@@STEP_LOG_LINE@the reason@it failed@@@",
"@@@STEP_LOG_END@the reason@@@",
"@@@STEP_EXCEPTION@@@"
]
},
{
"cmd": [],
"name": "Just print stuff",
"~followup_annotations": [
"@@@STEP_LOG_LINE@more@More stuff@@@",
"@@@STEP_LOG_END@more@@@"
]
},
{
"cmd": [
"echo",
"goodbye"
],
"name": "goodbye (2)"
},
{
"cmd": [
"echo",
"warning"
],
"name": "warning"
},
{
"cmd": [
"echo",
"testa"
],
"name": "testa"
},
{
"cmd": [
"echo",
"testb"
],
"infra_step": true,
"name": "testb"
},
{
"cmd": [
"echo",
"cleaning",
"up",
"build"
],
"infra_step": true,
"name": "cleanup"
},
{
"cmd": [
"python",
"-c",
"import sys; print sys.argv",
"echo",
"main",
"application"
],
"name": "application"
},
{
"cmd": [
"echo",
"I",
"do",
"nothing"
],
"name": "no-op"
},
{
"cmd": [],
"name": "RECIPE CRASH (Uncaught exception)",
"~followup_annotations": [
"@@@STEP_EXCEPTION@@@",
"The recipe has crashed at point 'Uncaught exception'!",
"",
"Traceback (most recent call last):",
" File \"RECIPE_REPO[recipe_engine]/recipe_engine/internal/engine.py\", line 365, in run_steps",
" raw_result = recipe_obj.run_steps(api, engine)",
" File \"RECIPE_REPO[recipe_engine]/recipe_engine/internal/recipe_deps.py\", line 714, in run_steps",
" properties_def, api=api)",
" File \"RECIPE_REPO[recipe_engine]/recipe_engine/internal/property_invoker.py\", line 89, in invoke_with_properties",
" arg_names, **additional_args)",
" File \"RECIPE_REPO[recipe_engine]/recipe_engine/internal/property_invoker.py\", line 52, in _invoke_with_properties",
" return callable_obj(*props, **additional_args)",
" File \"RECIPE_REPO[recipe_engine]/recipe_modules/step/examples/full.py\", line 127, in RunSteps",
" _ = result.json.output",
" File \"RECIPE_REPO[recipe_engine]/recipe_engine/step_data.py\", line 342, in __getattr__",
" 'StepData from step %r has no attribute %r.' % (self.name, name))",
"AttributeError: StepData from step 'no-op' has no attribute 'json'."
]
},
{
"failure": {
"humanReason": "Uncaught Exception: AttributeError(\"StepData from step 'no-op' has no attribute 'json'.\",)"
},
"name": "$result"
}
]