| [ |
| { |
| "cmd": [], |
| "name": "download build artifacts" |
| }, |
| { |
| "cmd": [], |
| "name": "download build artifacts.ensure isolated", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[CACHE]/isolated_client", |
| "-ensure-file", |
| "infra/tools/luci/isolated/${platform} git_revision:305e79001db1846906c7136d90a863bee5bd3bfc", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "download build artifacts.ensure isolated.ensure_installed", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-git_revision:305\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/isolated/resolved-platform\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/isolated_client/isolated", |
| "download", |
| "-verbose", |
| "-isolate-server", |
| "https://example.isolateserver.appspot.com", |
| "-isolated", |
| "abc", |
| "-output-dir", |
| "[CLEANUP]/build-artifacts_tmp_1" |
| ], |
| "infra_step": true, |
| "name": "download build artifacts.download build_artifacts", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
| "[CLEANUP]/build-artifacts_tmp_1/args.json", |
| "/path/to/tmp/json" |
| ], |
| "name": "download build artifacts.read args.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"board\": \"boards/x64.gni\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"build_type\": \"release\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"product\": \"products/core.gni\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"target\": \"x64\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"variants\": []@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
| "[CLEANUP]/build-artifacts_tmp_1/images.json", |
| "/path/to/tmp/json" |
| ], |
| "name": "download build artifacts.read images.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"netboot\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"bootserver_netboot\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"--boot\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ ], @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"netboot\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"path\": \"netboot.zbi\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"type\": \"zbi\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"zircon-a\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"bootserver_pave\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"--boot\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"--zircona\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ ], @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"zircon-a\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"path\": \"fuchsia.zbi\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"type\": \"zbi\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
| "[CLEANUP]/build-artifacts_tmp_1/shards.json", |
| "/path/to/tmp/json" |
| ], |
| "name": "download build artifacts.load test shards", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_END@json.output (invalid)@@@", |
| "@@@STEP_LOG_LINE@json.output (exception)@No JSON object could be decoded@@@", |
| "@@@STEP_LOG_END@json.output (exception)@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "isolate build artifacts" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "{\n \"variants\": [], \n \"product\": \"products/core.gni\", \n \"target\": \"x64\", \n \"board\": \"boards/x64.gni\", \n \"build_type\": \"release\"\n}", |
| "[START_DIR]/args.json" |
| ], |
| "infra_step": true, |
| "name": "isolate build artifacts.write args.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@args.json@{@@@", |
| "@@@STEP_LOG_LINE@args.json@ \"variants\": [], @@@", |
| "@@@STEP_LOG_LINE@args.json@ \"product\": \"products/core.gni\", @@@", |
| "@@@STEP_LOG_LINE@args.json@ \"target\": \"x64\", @@@", |
| "@@@STEP_LOG_LINE@args.json@ \"board\": \"boards/x64.gni\", @@@", |
| "@@@STEP_LOG_LINE@args.json@ \"build_type\": \"release\"@@@", |
| "@@@STEP_LOG_LINE@args.json@}@@@", |
| "@@@STEP_LOG_END@args.json@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "{\n \"netboot\": {\n \"path\": \"netboot.zbi\", \n \"bootserver_netboot\": [\n \"--boot\"\n ], \n \"type\": \"zbi\", \n \"name\": \"netboot\"\n }, \n \"zircon-a\": {\n \"path\": \"fuchsia.zbi\", \n \"type\": \"zbi\", \n \"name\": \"zircon-a\", \n \"bootserver_pave\": [\n \"--boot\", \n \"--zircona\"\n ]\n }\n}", |
| "[START_DIR]/images.json" |
| ], |
| "infra_step": true, |
| "name": "isolate build artifacts.write images.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@images.json@{@@@", |
| "@@@STEP_LOG_LINE@images.json@ \"netboot\": {@@@", |
| "@@@STEP_LOG_LINE@images.json@ \"path\": \"netboot.zbi\", @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"bootserver_netboot\": [@@@", |
| "@@@STEP_LOG_LINE@images.json@ \"--boot\"@@@", |
| "@@@STEP_LOG_LINE@images.json@ ], @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"type\": \"zbi\", @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"name\": \"netboot\"@@@", |
| "@@@STEP_LOG_LINE@images.json@ }, @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"zircon-a\": {@@@", |
| "@@@STEP_LOG_LINE@images.json@ \"path\": \"fuchsia.zbi\", @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"type\": \"zbi\", @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"name\": \"zircon-a\", @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"bootserver_pave\": [@@@", |
| "@@@STEP_LOG_LINE@images.json@ \"--boot\", @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"--zircona\"@@@", |
| "@@@STEP_LOG_LINE@images.json@ ]@@@", |
| "@@@STEP_LOG_LINE@images.json@ }@@@", |
| "@@@STEP_LOG_LINE@images.json@}@@@", |
| "@@@STEP_LOG_END@images.json@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[]", |
| "[START_DIR]/shards.json" |
| ], |
| "infra_step": true, |
| "name": "isolate build artifacts.write shards.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@shards.json@[]@@@", |
| "@@@STEP_LOG_END@shards.json@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py", |
| "--link-json", |
| "{\"[CLEANUP]/build-artifacts_tmp_1/arm64/botanist\": [\"[CLEANUP]/build_artifacts_tmp_2/arm64/botanist\"], \"[CLEANUP]/build-artifacts_tmp_1/arm64/testrunner\": [\"[CLEANUP]/build_artifacts_tmp_2/arm64/testrunner\"], \"[CLEANUP]/build-artifacts_tmp_1/authorized_key\": [\"[CLEANUP]/build_artifacts_tmp_2/authorized_key\"], \"[CLEANUP]/build-artifacts_tmp_1/bootserver\": [\"[CLEANUP]/build_artifacts_tmp_2/bootserver\"], \"[CLEANUP]/build-artifacts_tmp_1/covargs\": [\"[CLEANUP]/build_artifacts_tmp_2/covargs\"], \"[CLEANUP]/build-artifacts_tmp_1/fuchsia.zbi\": [\"[CLEANUP]/build_artifacts_tmp_2/fuchsia.zbi\"], \"[CLEANUP]/build-artifacts_tmp_1/ids.txt\": [\"[CLEANUP]/build_artifacts_tmp_2/ids.txt\"], \"[CLEANUP]/build-artifacts_tmp_1/llvm-symbolizer\": [\"[CLEANUP]/build_artifacts_tmp_2/llvm-symbolizer\"], \"[CLEANUP]/build-artifacts_tmp_1/llvm_cov\": [\"[CLEANUP]/build_artifacts_tmp_2/llvm_cov\"], \"[CLEANUP]/build-artifacts_tmp_1/llvm_profdata\": [\"[CLEANUP]/build_artifacts_tmp_2/llvm_profdata\"], \"[CLEANUP]/build-artifacts_tmp_1/minfs\": [\"[CLEANUP]/build_artifacts_tmp_2/minfs\"], \"[CLEANUP]/build-artifacts_tmp_1/netboot.zbi\": [\"[CLEANUP]/build_artifacts_tmp_2/netboot.zbi\"], \"[CLEANUP]/build-artifacts_tmp_1/private_key\": [\"[CLEANUP]/build_artifacts_tmp_2/private_key\"], \"[CLEANUP]/build-artifacts_tmp_1/symbolize_tool\": [\"[CLEANUP]/build_artifacts_tmp_2/symbolize_tool\"], \"[CLEANUP]/build-artifacts_tmp_1/tests.json\": [\"[CLEANUP]/build_artifacts_tmp_2/tests.json\"], \"[CLEANUP]/build-artifacts_tmp_1/x64/botanist\": [\"[CLEANUP]/build_artifacts_tmp_2/x64/botanist\"], \"[CLEANUP]/build-artifacts_tmp_1/x64/testrunner\": [\"[CLEANUP]/build_artifacts_tmp_2/x64/testrunner\"], \"[CLEANUP]/build-artifacts_tmp_1/zbi\": [\"[CLEANUP]/build_artifacts_tmp_2/zbi\"], \"[START_DIR]/args.json\": [\"[CLEANUP]/build_artifacts_tmp_2/args.json\"], \"[START_DIR]/images.json\": [\"[CLEANUP]/build_artifacts_tmp_2/images.json\"], \"[START_DIR]/shards.json\": [\"[CLEANUP]/build_artifacts_tmp_2/shards.json\"]}" |
| ], |
| "infra_step": true, |
| "name": "isolate build artifacts.create_links", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/isolated_client/isolated", |
| "archive", |
| "-verbose", |
| "-isolate-server", |
| "https://example.isolateserver.appspot.com", |
| "-namespace", |
| "default-gzip", |
| "-dump-hash", |
| "/path/to/tmp/", |
| "-dirs", |
| "[CLEANUP]/build_artifacts_tmp_2:." |
| ], |
| "infra_step": true, |
| "name": "isolate build artifacts.isolate", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "mkdir /tmp/infra-test-output\nwaitfor class=block topo=/dev/sys/pci/00:06.0/virtio-block/block timeout=60000\nmount /dev/sys/pci/00:06.0/virtio-block/block /tmp/infra-test-output\nruntests -o /tmp/infra-test-output -i 1 \numount /tmp/infra-test-output\ndm poweroff", |
| "[CLEANUP]/runcmds" |
| ], |
| "infra_step": true, |
| "name": "write runcmds", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@runcmds@mkdir /tmp/infra-test-output@@@", |
| "@@@STEP_LOG_LINE@runcmds@waitfor class=block topo=/dev/sys/pci/00:06.0/virtio-block/block timeout=60000@@@", |
| "@@@STEP_LOG_LINE@runcmds@mount /dev/sys/pci/00:06.0/virtio-block/block /tmp/infra-test-output@@@", |
| "@@@STEP_LOG_LINE@runcmds@runtests -o /tmp/infra-test-output -i 1 @@@", |
| "@@@STEP_LOG_LINE@runcmds@umount /tmp/infra-test-output@@@", |
| "@@@STEP_LOG_LINE@runcmds@dm poweroff@@@", |
| "@@@STEP_LOG_END@runcmds@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CLEANUP]/build-artifacts_tmp_1/zbi", |
| "--output", |
| "[CLEANUP]/build-artifacts_tmp_1/test-infra.zbi", |
| "[CLEANUP]/build-artifacts_tmp_1/fuchsia.zbi", |
| "--entry", |
| "infra/runcmds=[CLEANUP]/runcmds" |
| ], |
| "name": "create zbi" |
| }, |
| { |
| "cmd": [], |
| "name": "ensure cloudkms" |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cipd/cloudkms", |
| "-ensure-file", |
| "infra/tools/luci/cloudkms/${platform} latest", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "ensure cloudkms.ensure_installed", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/cloudkms/resolved-platform\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "process secret specs" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "listdir", |
| "[CLEANUP]/build-artifacts_tmp_1/secret_specs" |
| ], |
| "infra_step": true, |
| "name": "process secret specs.list", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@listdir@[CLEANUP]/build-artifacts_tmp_1/secret_specs/auth-token.json@@@", |
| "@@@STEP_LOG_LINE@listdir@[CLEANUP]/build-artifacts_tmp_1/secret_specs/ciphertext@@@", |
| "@@@STEP_LOG_END@listdir@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", |
| "[CLEANUP]/build-artifacts_tmp_1/secret_specs/auth-token.json", |
| "/path/to/tmp/json" |
| ], |
| "name": "process secret specs.read spec for auth-token", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"cloudkms_key_path\": \"key-path\"@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/cloudkms/cloudkms", |
| "decrypt", |
| "-input", |
| "[CLEANUP]/build-artifacts_tmp_1/secret_specs/ciphertext/auth-token.ciphertext", |
| "-output", |
| "/path/to/tmp/", |
| "key-path" |
| ], |
| "name": "process secret specs.decrypt secret for auth-token", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CLEANUP]/build-artifacts_tmp_1/minfs", |
| "[CLEANUP]/isolate_tmp_3/output.fs@3584M", |
| "create" |
| ], |
| "name": "create test image" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[\n {\n \"path\": \"test-infra.zbi\", \n \"type\": \"zbi\", \n \"name\": \"zircon-a\", \n \"bootserver_pave\": [\n \"--boot\", \n \"--zircona\"\n ]\n }\n]", |
| "[CLEANUP]/isolate_tmp_3/images.json" |
| ], |
| "infra_step": true, |
| "name": "write image manifest", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@images.json@[@@@", |
| "@@@STEP_LOG_LINE@images.json@ {@@@", |
| "@@@STEP_LOG_LINE@images.json@ \"path\": \"test-infra.zbi\", @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"type\": \"zbi\", @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"name\": \"zircon-a\", @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"bootserver_pave\": [@@@", |
| "@@@STEP_LOG_LINE@images.json@ \"--boot\", @@@", |
| "@@@STEP_LOG_LINE@images.json@ \"--zircona\"@@@", |
| "@@@STEP_LOG_LINE@images.json@ ]@@@", |
| "@@@STEP_LOG_LINE@images.json@ }@@@", |
| "@@@STEP_LOG_LINE@images.json@]@@@", |
| "@@@STEP_LOG_END@images.json@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/symlink.py", |
| "--link-json", |
| "{\"[CLEANUP]/build-artifacts_tmp_1/bootserver\": [\"[CLEANUP]/isolate_tmp_3/bootserver\"], \"[CLEANUP]/build-artifacts_tmp_1/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_3/llvm-symbolizer\"], \"[CLEANUP]/build-artifacts_tmp_1/test-infra.zbi\": [\"[CLEANUP]/isolate_tmp_3/test-infra.zbi\"], \"[CLEANUP]/build-artifacts_tmp_1/x64/botanist\": [\"[CLEANUP]/isolate_tmp_3/botanist\"], \"[CLEANUP]/build-artifacts_tmp_1/x64/testrunner\": [\"[CLEANUP]/isolate_tmp_3/testrunner\"]}" |
| ], |
| "infra_step": true, |
| "name": "create tree of build artifacts" |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/isolated_client/isolated", |
| "archive", |
| "-verbose", |
| "-isolate-server", |
| "https://example.isolateserver.appspot.com", |
| "-namespace", |
| "default-gzip", |
| "-dump-hash", |
| "/path/to/tmp/", |
| "-dirs", |
| "[CLEANUP]/isolate_tmp_3:." |
| ], |
| "infra_step": true, |
| "name": "isolate build artifacts (2)", |
| "~followup_annotations": [ |
| "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "run tests" |
| }, |
| { |
| "cmd": [], |
| "name": "run tests.attempt 0", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_TEXT@passed@@@", |
| "@@@STEP_LOG_LINE@symbolized log@blah@@@", |
| "@@@STEP_LOG_LINE@symbolized log@blah@@@", |
| "@@@STEP_LOG_END@symbolized log@@@", |
| "@@@STEP_LOG_LINE@summary.json@{@@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"outputs\": {@@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"goodbye-txt\": \"goodbye.txt\"@@@", |
| "@@@STEP_LOG_LINE@summary.json@ }, @@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"tests\": [@@@", |
| "@@@STEP_LOG_LINE@summary.json@ {@@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"gn_label\": \"//a/b/c:hello_test(//toolchain)\", @@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"name\": \"fuchsia-pkg://fuchsia.com/hello\", @@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"output_file\": \"hello.out\", @@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"result\": \"PASS\"@@@", |
| "@@@STEP_LOG_LINE@summary.json@ }, @@@", |
| "@@@STEP_LOG_LINE@summary.json@ {@@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"gn_label\": \"//a/b/c:goodbye_test(//toolchain)\", @@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"name\": \"fuchsia-pkg://fuchsia.com/goodbye\", @@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"output_file\": \"goodbye.out\", @@@", |
| "@@@STEP_LOG_LINE@summary.json@ \"result\": \"PASS\"@@@", |
| "@@@STEP_LOG_LINE@summary.json@ }@@@", |
| "@@@STEP_LOG_LINE@summary.json@ ]@@@", |
| "@@@STEP_LOG_LINE@summary.json@}@@@", |
| "@@@STEP_LOG_END@summary.json@@@", |
| "@@@STEP_LOG_LINE@goodbye-txt@goodbye@@@", |
| "@@@STEP_LOG_END@goodbye-txt@@@", |
| "@@@STEP_LINK@test outputs@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "run tests.attempt 0.ensure swarming", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[CACHE]/swarming_client", |
| "-ensure-file", |
| "infra/tools/luci/swarming/${platform} git_revision:67b11ada44a625008a2db5cb49ad453494b16ba1", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "run tests.attempt 0.ensure swarming.ensure_installed", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-git_revision:67b\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/swarming/resolved-platform\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/swarming_client/swarming", |
| "spawn-tasks", |
| "-server", |
| "https://example.swarmingserver.appspot.com", |
| "-json-input", |
| "{\"requests\": [{\"name\": \"all tests\", \"priority\": \"200\", \"service_account\": \"\", \"tags\": [\"test_environment_name:QEMU-x64\", \"uses_legacy_qemu:true\"], \"task_slices\": [{\"expiration_secs\": \"0\", \"properties\": {\"cipd_input\": {\"packages\": [{\"package_name\": \"fuchsia/infra/secretshim/${platform}\", \"path\": \".\", \"version\": \"git_revision:63ab3ac613fceb52ac49b63b43fce841a2585645\"}, {\"package_name\": \"fuchsia/third_party/qemu/${platform}\", \"path\": \"qemu\", \"version\": \"git_revision:533bf2563d0213a7e002d9fcde75519d30ffa70f\"}]}, \"command\": [\"./secretshim\", \"./botanist\", \"-level\", \"debug\", \"qemu\", \"-type\", \"qemu\", \"-qemu-dir\", \"./qemu/bin\", \"-images\", \"images.json\", \"-arch\", \"x64\", \"-minfs\", \"output.fs\", \"-pci-addr\", \"06.0\", \"-use-kvm\", \"zircon.autorun.boot=/boot/bin/sh+/boot/infra/runcmds\"], \"containment\": {\"containment_type\": \"NONE\", \"limit_processes\": \"0\", \"limit_total_committed_memory\": \"0\", \"lower_priority\": false}, \"dimensions\": [{\"key\": \"kvm\", \"value\": \"1\"}, {\"key\": \"os\", \"value\": \"Debian\"}, {\"key\": \"cpu\", \"value\": \"x64\"}, {\"key\": \"pool\", \"value\": \"fuchsia.tests\"}], \"env\": [], \"env_prefixes\": [], \"execution_timeout_secs\": \"0\", \"grace_period_secs\": \"30\", \"idempotent\": false, \"inputs_ref\": {\"isolated\": \"[dummy hash]\", \"isolatedserver\": \"https://example.isolateserver.appspot.com\", \"namespace\": \"default-gzip\"}, \"io_timeout_secs\": \"0\", \"outputs\": [\"output.fs\"], \"secret_bytes\": \"eyJhdXRoLXRva2VuIjogIiJ9\"}}]}]}", |
| "-json-output", |
| "/path/to/tmp/json", |
| "-cancel-extra-tasks" |
| ], |
| "infra_step": true, |
| "name": "run tests.attempt 0.trigger 1 task", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"tasks\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"request\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"all tests\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"0\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@", |
| "@@@STEP_LINK@task UI: all tests@https://example.swarmingserver.appspot.com/task?id=0@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CACHE]/swarming_client/swarming", |
| "collect", |
| "-server", |
| "https://example.swarmingserver.appspot.com", |
| "-task-summary-json", |
| "/path/to/tmp/json", |
| "-task-output-stdout", |
| "json", |
| "-output-dir", |
| "[CLEANUP]/swarming_tmp_4", |
| "0" |
| ], |
| "infra_step": true, |
| "name": "run tests.attempt 0.collect", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"1\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"output\": \"hello world!\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"output_dir\": \"output_dir\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"outputs\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"output.fs\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ ], @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"results\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"duration\": 62.35, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"exit_code\": 0, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"test\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"outputs_ref\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"isolated\": \"abc123\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"namespace\": \"default-gzip\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"state\": \"COMPLETED\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"1\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@", |
| "@@@STEP_LOG_LINE@task stdout+stderr: test@hello world!@@@", |
| "@@@STEP_LOG_END@task stdout+stderr: test@@@", |
| "@@@STEP_LINK@task isolated outputs: test@https://isolateserver.appspot.com/browse?namespace=default-gzip&hash=abc123@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "run tests.attempt 0.task results", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CLEANUP]/build-artifacts_tmp_1/symbolize_tool", |
| "-level", |
| "debug", |
| "-symbol-server", |
| "debug-symbols", |
| "-symbol-cache", |
| "[CACHE]/symbol", |
| "-llvm-symbolizer", |
| "[CLEANUP]/build-artifacts_tmp_1/llvm-symbolizer", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "run tests.attempt 0.task results.symbolize logs", |
| "stdin": "hello world!", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@", |
| "@@@STEP_LOG_LINE@json.output[symbolizer-output.json]@{}@@@", |
| "@@@STEP_LOG_END@json.output[symbolizer-output.json]@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CLEANUP]/build-artifacts_tmp_1/minfs", |
| "[CLEANUP]/swarming_tmp_4/1/output.fs", |
| "cp", |
| "::", |
| "[CLEANUP]/test_results/target/1" |
| ], |
| "infra_step": true, |
| "name": "run tests.attempt 0.extract results", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "remove", |
| "[CLEANUP]/swarming_tmp_4/1/output.fs" |
| ], |
| "infra_step": true, |
| "name": "run tests.attempt 0.remove output.fs", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[CLEANUP]/build-artifacts_tmp_1/tests.json", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "run tests.attempt 0.read tests.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_LINE@tests.json@[{\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/hello\", \"path\": \"/path/to/hello\", \"os\": \"fuchsia\", \"name\": \"hello\", \"label\": \"//a/b/c:hello_test(//toolchain)\"}}, {\"test\": {\"package_url\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"path\": \"/path/to/goodbye\", \"os\": \"fuchsia\", \"name\": \"goodbye\", \"label\": \"//a/b/c:goodbye_test(//toolchain)\"}}]@@@", |
| "@@@STEP_LOG_END@tests.json@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "run tests.attempt 0.all test results", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "run tests.attempt 0.all test results.all passed tests", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@3@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "run tests.attempt 0.all test results.all passed tests.fuchsia-pkg://fuchsia.com/hello", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@4@@@", |
| "@@@STEP_LOG_LINE@stdio@hello@@@", |
| "@@@STEP_LOG_END@stdio@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "run tests.attempt 0.all test results.all passed tests.fuchsia-pkg://fuchsia.com/goodbye", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@4@@@", |
| "@@@STEP_LOG_LINE@stdio@goodbye@@@", |
| "@@@STEP_LOG_END@stdio@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "upload test test results", |
| "~followup_annotations": [ |
| "@@@STEP_LINK@go/fuchsia-result-store/bid:8945511751514863184@https://goto.google.com/fuchsia-result-store/bid:8945511751514863184@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"gn_label\": \"//a/b/c:hello_test(//toolchain)\", \"output_file\": \"hello.out\", \"name\": \"fuchsia-pkg://fuchsia.com/hello\", \"result\": \"PASS\"}, {\"gn_label\": \"//a/b/c:goodbye_test(//toolchain)\", \"output_file\": \"goodbye.out\", \"name\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"result\": \"PASS\"}]}", |
| "[CLEANUP]/swarming_tmp_4/summary.json" |
| ], |
| "infra_step": true, |
| "name": "upload test test results.write summary.json", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@summary.json@{\"outputs\": {\"goodbye-txt\": \"goodbye.txt\"}, \"tests\": [{\"gn_label\": \"//a/b/c:hello_test(//toolchain)\", \"output_file\": \"hello.out\", \"name\": \"fuchsia-pkg://fuchsia.com/hello\", \"result\": \"PASS\"}, {\"gn_label\": \"//a/b/c:goodbye_test(//toolchain)\", \"output_file\": \"goodbye.out\", \"name\": \"fuchsia-pkg://fuchsia.com/goodbye\", \"result\": \"PASS\"}]}@@@", |
| "@@@STEP_LOG_END@summary.json@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "upload test test results.ensure gsutil", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cipd/gsutil", |
| "-ensure-file", |
| "infra/gsutil version:4.41", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "upload test test results.ensure gsutil.ensure_installed", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@2@@@", |
| "@@@STEP_LOG_LINE@json.output@{@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-version:4.41----\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/gsutil\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-vpython-spec", |
| "RECIPE_MODULE[fuchsia::gsutil]/resources/gsutil.vpython", |
| "-u", |
| "[START_DIR]/cipd/gsutil/gsutil", |
| "-o", |
| "GSUtil:software_update_check_period=0", |
| "-m", |
| "rsync", |
| "-r", |
| "[CLEANUP]/swarming_tmp_4", |
| "gs://fuchsia_infra/builds/8945511751514863184/test" |
| ], |
| "infra_step": true, |
| "name": "upload test test results.upload test to fuchsia_infra", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LINK@test@https://console.cloud.google.com/storage/browser/fuchsia_infra/builds/8945511751514863184/test@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "check log test:serial.txt" |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[CLEANUP]/swarming_tmp_4/serial.txt", |
| "/path/to/tmp/" |
| ], |
| "infra_step": true, |
| "name": "check log test:serial.txt.read serial.txt", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@serial.txt@extra log contents@@@", |
| "@@@STEP_LOG_END@serial.txt@@@" |
| ] |
| }, |
| { |
| "name": "$result" |
| } |
| ] |