diff --git a/README.md b/README.md index 38dcfaf..ab89229 100644 --- a/README.md +++ b/README.md @@ -1373,6 +1373,8 @@ python -m automation_file --execute_str '[["FA_create_dir",{"dir_path":"x"}]]' python -m automation_file --create_project ./my_project ``` +The legacy flags exit with status 1 when an action of the list failed, after the rest of the list has run, and print `error: N action(s) failed` on stderr. + ## JSON action format Each entry is either a bare command name, a `[name, kwargs]` pair, or a diff --git a/README.zh-CN.md b/README.zh-CN.md index 344ca72..aa0b9ed 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1328,6 +1328,8 @@ python -m automation_file --execute_str '[["FA_create_dir",{"dir_path":"x"}]]' python -m automation_file --create_project ./my_project ``` +旧式标志在清单中有动作失败时,会在其余动作执行完之后以状态 1 结束,并在 stderr 打印 `error: N action(s) failed`。 + ## JSON 动作格式 每一项动作可以是单纯的命令名称、`[name, kwargs]` 组合,或 `[name, args]` diff --git a/README.zh-TW.md b/README.zh-TW.md index 896d2b7..d702ffa 100644 --- a/README.zh-TW.md +++ b/README.zh-TW.md @@ -1329,6 +1329,8 @@ python -m automation_file --execute_str '[["FA_create_dir",{"dir_path":"x"}]]' python -m automation_file --create_project ./my_project ``` +舊式旗標在清單中有動作失敗時,會在其餘動作執行完之後以狀態 1 結束,並在 stderr 印出 `error: N action(s) failed`。 + ## JSON 動作格式 每一項動作可以是單純的指令名稱、`[name, kwargs]` 組合,或 `[name, args]` diff --git a/architecture.md b/architecture.md index 785fa4a..d500aaa 100644 --- a/architecture.md +++ b/architecture.md @@ -239,7 +239,10 @@ storage.observe → events.storage_bridge → StorageError (only for a failing b contract, guarded by `tests/test_legacy_cli_contract.py`. PyBreeze declares `automation-file` and, now that the SDKs and the GUI are extras, needs `automation-file[all]` to keep what it had (`progress.md` #29); it lists the package as a dependency. - **TestPioneer** imports `download_file` and `unzip_all` from the facade in-process - (`test_pioneer/executor/file/file_processing.py`). Its `parallel_run` does not spawn this package. + (`test_pioneer/executor/file/file_processing.py`). Its `file-runner` runs an action file through + `execute_action` in-process, and `parallel_run` spawns `python -m automation_file --execute_file