From 05b5dfe7ad2207847921164c3667d1dce116cc69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Sep 2026 00:32:44 +0000 Subject: [PATCH 1/9] Update opentelemetry-sdk requirement from >=1.44.0 to >=1.45.0 Updates the requirements on [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) to permit the latest version. - [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-python/compare/v1.44.0...v1.45.0) --- updated-dependencies: - dependency-name: opentelemetry-sdk dependency-version: 1.45.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c4c1b88..8139960 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ defusedxml>=0.7.1 PyYAML>=6.0.3 pyarrow>=25.0.1 opentelemetry-api>=1.44.0 -opentelemetry-sdk>=1.44.0 +opentelemetry-sdk>=1.45.0 msal>=1.39.0 boxsdk>=10.15.0,<11 tomli; python_version<"3.11" \ No newline at end of file From 91a0eb2e55444448804480bed94ee1f39b54eb09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Sep 2026 00:33:21 +0000 Subject: [PATCH 2/9] Update opentelemetry-api requirement from >=1.44.0 to >=1.45.0 Updates the requirements on [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) to permit the latest version. - [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-python/compare/v1.44.0...v1.45.0) --- updated-dependencies: - dependency-name: opentelemetry-api dependency-version: 1.45.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c4c1b88..1121df7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ watchdog defusedxml>=0.7.1 PyYAML>=6.0.3 pyarrow>=25.0.1 -opentelemetry-api>=1.44.0 +opentelemetry-api>=1.45.0 opentelemetry-sdk>=1.44.0 msal>=1.39.0 boxsdk>=10.15.0,<11 From b196f715c7ab64a19b3fd8ddd93991890441592c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Oct 2026 00:33:05 +0000 Subject: [PATCH 3/9] Update cryptography requirement from >=50.0.1 to >=50.0.2 Updates the requirements on [cryptography](https://github.com/pyca/cryptography) to permit the latest version. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/50.0.1...50.0.2) --- updated-dependencies: - dependency-name: cryptography dependency-version: 50.0.2 dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- dev_requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev_requirements.txt b/dev_requirements.txt index aa1b519..18d9143 100644 --- a/dev_requirements.txt +++ b/dev_requirements.txt @@ -3,7 +3,7 @@ google-api-python-client google-auth-httplib2 google-auth-oauthlib APScheduler -cryptography>=50.0.1 +cryptography>=50.0.2 prometheus_client>=0.25.0 defusedxml>=0.7.1 twine From b4052c02de9e2da6d538b62d9768abfb88fc0f2e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Oct 2026 00:33:17 +0000 Subject: [PATCH 4/9] Update boxsdk requirement from <11,>=10.15.0 to >=10.17.0,<11 Updates the requirements on [boxsdk](https://github.com/box/box-python-sdk) to permit the latest version. - [Release notes](https://github.com/box/box-python-sdk/releases) - [Changelog](https://github.com/box/box-python-sdk/blob/main/CHANGELOG.md) - [Commits](https://github.com/box/box-python-sdk/compare/v10.15.0...v10.17.0) --- updated-dependencies: - dependency-name: boxsdk dependency-version: 10.17.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index c4c1b88..d4b4b22 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,5 +13,5 @@ pyarrow>=25.0.1 opentelemetry-api>=1.44.0 opentelemetry-sdk>=1.44.0 msal>=1.39.0 -boxsdk>=10.15.0,<11 +boxsdk>=10.17.0,<11 tomli; python_version<"3.11" \ No newline at end of file From d0bc67ad6c33c0c127c3e4a59fcb0e28fd15fdf5 Mon Sep 17 00:00:00 2001 From: JeffreyChen Date: Thu, 8 Oct 2026 15:30:14 +0800 Subject: [PATCH 5/9] Exit 1 from the legacy CLI flags when an action failed The executor records a failed action and runs the next one, so the process ended with status 0 whatever happened. The executor now counts the actions that failed, and the entry point compares the count before and after the legacy dispatch and exits 1 with "N action(s) failed". --- README.md | 2 ++ README.zh-CN.md | 2 ++ README.zh-TW.md | 2 ++ architecture.md | 5 +++- automation_file/__main__.py | 8 +++++- automation_file/core/action_executor.py | 18 +++++++++++++ docs/source/Eng/usage/cli.rst | 7 +++++ docs/source/Zh-CN/usage/cli.rst | 7 +++++ docs/source/Zh-TW/usage/cli.rst | 7 +++++ docs/updates/2026-10.md | 10 +++++++ docs/updates/README.md | 3 ++- tests/test_cli_main.py | 35 +++++++++++++++++++++++++ tests/test_legacy_cli_contract.py | 33 +++++++++++++++++++++++ 13 files changed, 136 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ed85aee..dd12ffc 100644 --- a/README.md +++ b/README.md @@ -929,6 +929,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 ce4e224..4df9eae 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -910,6 +910,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 49352f4..dc2e3de 100644 --- a/README.zh-TW.md +++ b/README.zh-TW.md @@ -910,6 +910,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 bf590df..59f2092 100644 --- a/architecture.md +++ b/architecture.md @@ -134,7 +134,10 @@ ActionExecutor() → build_default_registry(): local + http + utils + drive comm contract, guarded by `tests/test_legacy_cli_contract.py`. PyBreeze also declares `automation-file` 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