| [ |
| { |
| "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\": \"build_type\", @@@", |
| "@@@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": [ |
| "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_2/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_2/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_2/bootserver\"], \"[CLEANUP]/build-artifacts_tmp_1/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_2/llvm-symbolizer\"], \"[CLEANUP]/build-artifacts_tmp_1/test-infra.zbi\": [\"[CLEANUP]/isolate_tmp_2/test-infra.zbi\"], \"[CLEANUP]/build-artifacts_tmp_1/x64/botanist\": [\"[CLEANUP]/isolate_tmp_2/botanist\"], \"[CLEANUP]/build-artifacts_tmp_1/x64/testrunner\": [\"[CLEANUP]/isolate_tmp_2/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_2:." |
| ], |
| "infra_step": true, |
| "name": "isolate build artifacts", |
| "~followup_annotations": [ |
| "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@" |
| ] |
| }, |
| { |
| "name": "$result" |
| } |
| ] |