| [ |
| { |
| "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_LINE@json.output@[@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"deps\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"/path/to/dep\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ ], @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"environment\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"dimensions\": {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"device_type\": \"AEMU\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ }, @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"NAME\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"tests\": [@@@", |
| "@@@STEP_LOG_LINE@json.output@ {@@@", |
| "@@@STEP_LOG_LINE@json.output@ \"install_path\": \"/path/to/test\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"label\": \"//path/to/test:test(//toolchain)\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"name\": \"TEST\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"os\": \"linux\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"path\": \"/path/to/test\"@@@", |
| "@@@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", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "/path/to/test\n", |
| "[CLEANUP]/tests-NAME" |
| ], |
| "infra_step": true, |
| "name": "write test list", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@tests-NAME@/path/to/test@@@", |
| "@@@STEP_LOG_END@tests-NAME@@@" |
| ] |
| }, |
| { |
| "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 -f /boot/infra/shard-NAME.run\numount /tmp/infra-test-output\ndm poweroff", |
| "[CLEANUP]/runcmds-NAME" |
| ], |
| "infra_step": true, |
| "name": "write runcmds", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@runcmds-NAME@mkdir /tmp/infra-test-output@@@", |
| "@@@STEP_LOG_LINE@runcmds-NAME@waitfor class=block topo=/dev/sys/pci/00:06.0/virtio-block/block timeout=60000@@@", |
| "@@@STEP_LOG_LINE@runcmds-NAME@mount /dev/sys/pci/00:06.0/virtio-block/block /tmp/infra-test-output@@@", |
| "@@@STEP_LOG_LINE@runcmds-NAME@runtests -o /tmp/infra-test-output -f /boot/infra/shard-NAME.run@@@", |
| "@@@STEP_LOG_LINE@runcmds-NAME@umount /tmp/infra-test-output@@@", |
| "@@@STEP_LOG_LINE@runcmds-NAME@dm poweroff@@@", |
| "@@@STEP_LOG_END@runcmds-NAME@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[CLEANUP]/build-artifacts_tmp_1/zbi", |
| "--output", |
| "[CLEANUP]/build-artifacts_tmp_1/fuchsia.zbi", |
| "[CLEANUP]/build-artifacts_tmp_1/fuchsia.zbi", |
| "--entry", |
| "infra/runcmds-NAME=[CLEANUP]/runcmds-NAME", |
| "--entry", |
| "infra/shard-NAME.run=[CLEANUP]/tests-NAME" |
| ], |
| "name": "create zbi" |
| }, |
| { |
| "cmd": [], |
| "name": "shard NAME" |
| }, |
| { |
| "cmd": [ |
| "[CLEANUP]/build-artifacts_tmp_1/minfs", |
| "[CLEANUP]/isolate_tmp_2/output.fs@3584M", |
| "create" |
| ], |
| "name": "shard NAME.create test image", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "vpython", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "[\n {\n \"path\": \"fuchsia.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": "shard NAME.write image manifest", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@images.json@[@@@", |
| "@@@STEP_LOG_LINE@images.json@ {@@@", |
| "@@@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": [ |
| "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/fuchsia.zbi\": [\"[CLEANUP]/isolate_tmp_2/fuchsia.zbi\"], \"[CLEANUP]/build-artifacts_tmp_1/llvm-symbolizer\": [\"[CLEANUP]/isolate_tmp_2/llvm-symbolizer\"], \"[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": "shard NAME.create tree of build artifacts", |
| "~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]/isolate_tmp_2:." |
| ], |
| "infra_step": true, |
| "name": "shard NAME.isolate build artifacts", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LINK@isolated UI@https://example.isolateserver.appspot.com/browse?namespace=default-gzip&hash=%5Bdummy+hash%5D@@@" |
| ] |
| }, |
| { |
| "name": "$result" |
| } |
| ] |