已开启
[issue]: bot-gate 必须在 Cargo.toml 目录下才能运行 #31
ywxt创建于  9月11日
ywxt成员
9月11日 创建

问题概述

运行 bot-gate 要求当前目录必须存在 Cargo.toml 才能执行。但在 C++ 与 Rust 混合项目中,Rust 工程往往分散在多个子目录,当前实现只能一个项目一个项目地手动进入目录执行,无法一次覆盖全部工程。
首次出现版本:BotGate 1.2.1

影响范围

项目 内容
执行场景 ☑ fast ☑ pr ☑ release ☑ custom
受影响步骤 □ check □ clippy □ fmt □ test □ metric □ supply-chain □ runtime
影响程度 ☑ 轻微
临时规避办法 逐个进入各子目录(含 Cargo.toml 的目录)分别执行 bot-gate

复现步骤

请提供最小输入项目、bot-gate 命令、相关 botgate.toml 配置和完整执行顺序。

  1. 新建一个文件夹(模拟 C++ 与 Rust 混合项目根目录)
  2. 在当前文件夹下执行 cargo new 创建 Rust 子工程
  3. 在根目录(不含 Cargo.toml)执行 bot-gate

目录结构示例:

/root/xxx
├── (无 Cargo.toml)
├── cpp_src/           # C++ 源码
└── rust_module/       # 子工程,含 Cargo.toml

预期结果

bot-gate 能够递归扫描指定目录下的所有 Cargo 工程(查找各子目录中的 Cargo.toml),并对每个工程依次执行门禁检查,输出各工程的步骤状态与诊断结果。

或者提供一个配置文件,由使用者指定扫描目录

实际结果

bot-gate 直接报错退出,未对任何子工程执行检查:
BotGate error
ERROR no Cargo.toml found in /root/xxx

运行环境与门禁范围

项目 内容
BotGate 版本或提交号 1.2.1
操作系统与架构 Ubuntu 24 (aarch64)
Rust 工具链 1.89
项目类型 C++ 与 Rust 混合构建
工作空间 / 软件包 / 目标 根目录非 Cargo 工作空间,Rust 工程分散于子目录
锁定策略
相关工具及版本

门禁证据

附件与提交确认

likedislike
Yywxt成员
9月11日 修改了issue 的描述
Yywxt成员
9月11日 修改标题为 “[issue]: bot-gate 必须在 Cargo.toml 目录下才能运行”,原标题为“[issue]: bot-gate 不必须在 Cargo.toml 目录下才能运行”