| [ |
| { |
| "cmd": [], |
| "name": "ensure_jiri" |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cipd/jiri", |
| "-ensure-file", |
| "fuchsia/tools/jiri/linux-amd64 stable", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "ensure_jiri.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@ \"instance_id\": \"resolved-instance_id-of-stable----------\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"fuchsia/tools/jiri/linux-amd64\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "ensure_gsutil" |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cipd/gsutil", |
| "-ensure-file", |
| "infra/tools/gsutil latest", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "ensure_gsutil.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@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/gsutil\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "ensure_qemu" |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cipd/qemu", |
| "-ensure-file", |
| "fuchsia/tools/qemu/linux-amd64 latest", |
| "-json-output", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "ensure_qemu.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@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"fuchsia/tools/qemu/linux-amd64\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "ensure_goma" |
| }, |
| { |
| "cmd": [ |
| "cipd", |
| "ensure", |
| "-root", |
| "[START_DIR]/cipd/goma", |
| "-ensure-file", |
| "infra_internal/goma/client/linux-amd64 release", |
| "-json-output", |
| "/path/to/tmp/json", |
| "-service-account-json", |
| "/creds/service_accounts/service-account-goma-client.json" |
| ], |
| "infra_step": true, |
| "name": "ensure_goma.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@ \"instance_id\": \"resolved-instance_id-of-release---------\", @@@", |
| "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra_internal/goma/client/linux-amd64\"@@@", |
| "@@@STEP_LOG_LINE@json.output@ }@@@", |
| "@@@STEP_LOG_LINE@json.output@ ]@@@", |
| "@@@STEP_LOG_LINE@json.output@}@@@", |
| "@@@STEP_LOG_END@json.output@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/jiri/jiri", |
| "init", |
| "-analytics-opt=false", |
| "-rewrite-sso-to-https=true", |
| "-cache", |
| "[CACHE]/git", |
| "-shared" |
| ], |
| "infra_step": true, |
| "name": "jiri init" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/jiri/jiri", |
| "import", |
| "fuchsia", |
| "https://fuchsia.googlesource.com/manifest" |
| ], |
| "infra_step": true, |
| "name": "jiri import" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/jiri/jiri", |
| "update", |
| "-autoupdate=false", |
| "-run-hooks=false" |
| ], |
| "infra_step": true, |
| "name": "jiri update" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/jiri/jiri", |
| "run-hooks" |
| ], |
| "infra_step": true, |
| "name": "jiri run-hooks" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/jiri/jiri", |
| "source-manifest", |
| "/path/to/tmp/json" |
| ], |
| "infra_step": true, |
| "name": "jiri source-manifest", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@", |
| "@@@STEP_LOG_LINE@json.output[source manifest]@ \"directories\": {@@@", |
| "@@@STEP_LOG_LINE@json.output[source manifest]@ \"manifest\": {@@@", |
| "@@@STEP_LOG_LINE@json.output[source manifest]@ \"git_checkout\": {@@@", |
| "@@@STEP_LOG_LINE@json.output[source manifest]@ \"repo_url\": \"https://fuchsia.googlesource.com/manifest\", @@@", |
| "@@@STEP_LOG_LINE@json.output[source manifest]@ \"revision\": \"4c2b0da3c06341db5cebe4d02c78c93c3b2bd78b\"@@@", |
| "@@@STEP_LOG_LINE@json.output[source manifest]@ }@@@", |
| "@@@STEP_LOG_LINE@json.output[source manifest]@ }@@@", |
| "@@@STEP_LOG_LINE@json.output[source manifest]@ }@@@", |
| "@@@STEP_LOG_LINE@json.output[source manifest]@}@@@", |
| "@@@STEP_LOG_END@json.output[source manifest]@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/cipd/jiri/jiri", |
| "snapshot", |
| "[TMP_BASE]/jiri.snapshot" |
| ], |
| "infra_step": true, |
| "name": "jiri snapshot" |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/scripts/build-zircon.sh", |
| "-c", |
| "-p", |
| "zircon-pc-x86-64" |
| ], |
| "name": "build zircon" |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", |
| "--json-output", |
| "/path/to/tmp/json", |
| "copy", |
| "msleep 500\ncd /system/test/dart\ndart --checked tools/testing/dart/main.dart --progress=line -m debug -a x64 -r vm vm && echo all tests passed || echo tests failed\necho \"ready for fuchsia shutdown\"", |
| "[TMP_BASE]/autorun" |
| ], |
| "infra_step": true, |
| "name": "write autorun", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@autorun.sh@msleep 500@@@", |
| "@@@STEP_LOG_LINE@autorun.sh@cd /system/test/dart@@@", |
| "@@@STEP_LOG_LINE@autorun.sh@dart --checked tools/testing/dart/main.dart --progress=line -m debug -a x64 -r vm vm && echo all tests passed || echo tests failed@@@", |
| "@@@STEP_LOG_LINE@autorun.sh@echo \"ready for fuchsia shutdown\"@@@", |
| "@@@STEP_LOG_END@autorun.sh@@@" |
| ] |
| }, |
| { |
| "cmd": [], |
| "name": "build fuchsia" |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "[START_DIR]/cipd/goma/goma_ctl.py", |
| "restart" |
| ], |
| "env": { |
| "GOMA_CACHE_DIR": "[CACHE]/goma", |
| "GOMA_DEPS_CACHE_FILE": "goma_deps_cache", |
| "GOMA_SERVICE_ACCOUNT_JSON_FILE": "/creds/service_accounts/service-account-goma-client.json" |
| }, |
| "infra_step": true, |
| "name": "build fuchsia.start_goma", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/build/gn/gen.py", |
| "--target_cpu", |
| "x86-64", |
| "--goma=[START_DIR]/cipd/goma", |
| "--args=extra_bootdata = [ \"//third_party/dart:dart_test_bootfs\" ]", |
| "--autorun=[TMP_BASE]/autorun" |
| ], |
| "name": "build fuchsia.gen", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "\nimport multiprocessing\nimport sys\n\njob_limit = 200\nif sys.platform.startswith('linux'):\n # Use 80 for linux not to load goma backend.\n job_limit = 80\n\ntry:\n jobs = min(job_limit, multiprocessing.cpu_count() * 10)\nexcept NotImplementedError:\n jobs = 50\n\nprint jobs\n" |
| ], |
| "name": "build fuchsia.calculate the number of recommended jobs", |
| "stdout": "/path/to/tmp/", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@", |
| "@@@STEP_LOG_LINE@python.inline@@@@", |
| "@@@STEP_LOG_LINE@python.inline@import multiprocessing@@@", |
| "@@@STEP_LOG_LINE@python.inline@import sys@@@", |
| "@@@STEP_LOG_LINE@python.inline@@@@", |
| "@@@STEP_LOG_LINE@python.inline@job_limit = 200@@@", |
| "@@@STEP_LOG_LINE@python.inline@if sys.platform.startswith('linux'):@@@", |
| "@@@STEP_LOG_LINE@python.inline@ # Use 80 for linux not to load goma backend.@@@", |
| "@@@STEP_LOG_LINE@python.inline@ job_limit = 80@@@", |
| "@@@STEP_LOG_LINE@python.inline@@@@", |
| "@@@STEP_LOG_LINE@python.inline@try:@@@", |
| "@@@STEP_LOG_LINE@python.inline@ jobs = min(job_limit, multiprocessing.cpu_count() * 10)@@@", |
| "@@@STEP_LOG_LINE@python.inline@except NotImplementedError:@@@", |
| "@@@STEP_LOG_LINE@python.inline@ jobs = 50@@@", |
| "@@@STEP_LOG_LINE@python.inline@@@@", |
| "@@@STEP_LOG_LINE@python.inline@print jobs@@@", |
| "@@@STEP_LOG_END@python.inline@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/buildtools/ninja", |
| "-C", |
| "[START_DIR]/out/debug-x86-64", |
| "-j", |
| "50" |
| ], |
| "name": "build fuchsia.ninja", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "[START_DIR]/cipd/goma/goma_ctl.py", |
| "jsonstatus", |
| "[START_DIR]/cipd/goma/jsonstatus" |
| ], |
| "env": { |
| "GOMA_CACHE_DIR": "[CACHE]/goma", |
| "GOMA_DEPS_CACHE_FILE": "goma_deps_cache", |
| "GOMA_SERVICE_ACCOUNT_JSON_FILE": "/creds/service_accounts/service-account-goma-client.json" |
| }, |
| "name": "build fuchsia.goma_jsonstatus", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "[START_DIR]/cipd/goma/goma_ctl.py", |
| "stat" |
| ], |
| "env": { |
| "GOMA_CACHE_DIR": "[CACHE]/goma", |
| "GOMA_DEPS_CACHE_FILE": "goma_deps_cache", |
| "GOMA_SERVICE_ACCOUNT_JSON_FILE": "/creds/service_accounts/service-account-goma-client.json" |
| }, |
| "name": "build fuchsia.goma_stat", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "python", |
| "-u", |
| "[START_DIR]/cipd/goma/goma_ctl.py", |
| "stop" |
| ], |
| "env": { |
| "GOMA_CACHE_DIR": "[CACHE]/goma", |
| "GOMA_DEPS_CACHE_FILE": "goma_deps_cache", |
| "GOMA_SERVICE_ACCOUNT_JSON_FILE": "/creds/service_accounts/service-account-goma-client.json" |
| }, |
| "name": "build fuchsia.stop_goma", |
| "~followup_annotations": [ |
| "@@@STEP_NEST_LEVEL@1@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "RECIPE_MODULE[infra::qemu]/resources/qemu.py", |
| "run", |
| "--executable", |
| "[START_DIR]/cipd/qemu/bin/qemu-system-x86_64", |
| "--memory", |
| "4096", |
| "--smp", |
| "4", |
| "--arch", |
| "x86_64", |
| "--initrd", |
| "[START_DIR]/out/debug-x86-64/user.bootfs", |
| "--shutdown_pattern", |
| "ready for fuchsia shutdown", |
| "[START_DIR]/out/build-zircon/build-zircon-pc-x86-64/zircon.bin" |
| ], |
| "name": "run tests", |
| "stdout": "/path/to/tmp/", |
| "~followup_annotations": [ |
| "@@@STEP_LOG_LINE@qemu log@qemu@@@", |
| "@@@STEP_LOG_END@qemu log@@@", |
| "@@@STEP_EXCEPTION@@@" |
| ] |
| }, |
| { |
| "cmd": [ |
| "[START_DIR]/zircon/scripts/symbolize", |
| "--no-echo", |
| "--build-dir", |
| "[START_DIR]/out/debug-x86-64" |
| ], |
| "name": "symbolize", |
| "stdin": "qemu", |
| "stdout": "/path/to/tmp/" |
| }, |
| { |
| "name": "$result", |
| "reason": "Missing test status message", |
| "recipe_result": null, |
| "status_code": 1 |
| } |
| ] |