asan
無料以 AddressSanitizer(ENABLE_TEST_SANITIZE=ON)构建并运行 vlink-test 单元测试,复现 CI 的 ASan 门禁。用户要求"跑 asan"、"内存检测测试"、 排查 ci-test 的 sanitize 失败时使用。
日本語の概要は準備中です。原文の説明を表示しています。
对指定文件或全仓库运行 clang-tidy(WarningsAsErrors='*')。用户要求 "跑 clang-tidy"、"tidy 检查某文件"、排查 CI tidy 门禁失败时使用。
日本語の概要は準備中です。原文の説明を表示しています。
実行スコア 未検証
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
仓库根 .clang-tidy 已配置检查集(google-/readability-/performance-/
modernize- 等,豁免项集中管理)且 WarningsAsErrors: '*' —— 任何告警即
失败。头文件过滤:HeaderFilterRegex 只覆盖
include/vlink|src|modules|cli|proxy。
先从仓库任意子目录解析根目录:
REPO_ROOT="$(git rev-parse --show-toplevel)"
PHYSICAL_CORES=
case "$(uname -s 2>/dev/null)" in
Linux)
PHYSICAL_CORES="$(
LC_ALL=C lscpu -p=CORE,SOCKET 2>/dev/null |
awk -F, '
$1 !~ /^#/ && $1 ~ /^[0-9]+$/ && $2 ~ /^[0-9]+$/ {
cores[$2 SUBSEP $1] = 1
}
END {
for (core in cores) {
count++
}
if (count > 0) {
print count
}
}'
)" || PHYSICAL_CORES=
;;
Darwin)
PHYSICAL_CORES="$(sysctl -n hw.physicalcpu 2>/dev/null)" || PHYSICAL_CORES=
;;
esac
case "$PHYSICAL_CORES" in
'' | *[!0-9]* | 0) PHYSICAL_CORES=1 ;;
esac
if [ "$PHYSICAL_CORES" -gt 1 ]; then
BUILD_JOBS=$((PHYSICAL_CORES - 1))
else
BUILD_JOBS=1
fi
AI 创建的 clang-tidy 构建目录必须位于 build-ai/ 下并使用
skill_clang_tidy 前缀;不得复用、覆盖或清理维护者、IDE、CI 的其他
构建目录。默认目录正被其他任务使用时改用
skill_clang_tidy_<task_name> 或 skill_clang_tidy_file_<task_name>。
执行以下任一路径前设置
PYTHONPYCACHEPREFIX="$BUILD_DIR/__pycache__"。
需要 compile_commands.json。使用独立目录生成(仅 configure,不编译),
避免改写维护者日常构建配置:
BUILD_DIR="$REPO_ROOT/build-ai/skill_clang_tidy_file"
export PYTHONPYCACHEPREFIX="$BUILD_DIR/__pycache__"
cmake -S "$REPO_ROOT" -B "$BUILD_DIR" \
-DENABLE_CXX_STD_20=OFF \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
然后对改动过的 .cc 文件运行:
clang-tidy -p "$BUILD_DIR" <file1.cc> <file2.cc>
纯头文件改动:找到包含它的某个 .cc 作为入口来跑。
以下只展示 clang-tidy 随编译执行的机制,不是 CI 参数的完整复现。
完整门禁参数以 .github/scripts/ci-tidy.sh 和 workflow 提供的
VLINK_CI_CMAKE_ARGS 为准;该 CI 脚本使用 CI 自己的构建目录,AI 在
当前工作区不得直接执行,必须把所需参数用于以下 skill 专属目录:
BUILD_DIR="$REPO_ROOT/build-ai/skill_clang_tidy"
export PYTHONPYCACHEPREFIX="$BUILD_DIR/__pycache__"
cmake -S "$REPO_ROOT" -B "$BUILD_DIR" \
-DENABLE_CXX_STD_20=OFF \
-DCMAKE_CXX_CLANG_TIDY=clang-tidy
cmake --build "$BUILD_DIR" --parallel "$BUILD_JOBS"
耗时长(CI 限时 120 分钟),仅在需要完整复现 CI 门禁时使用。
BUILD_JOBS 必须严格等于 max(真实物理核心数 - 1, 1)。禁止改用逻辑
CPU 数、裸 --parallel/-j 或固定高并行度;无法可靠获取时固定单核,
且同一时刻只运行一个本地构建,防止 clang-tidy 随编译并发卡死或耗尽
内存。
// NOLINTNEXTLINE(<检查名>);只有不适合放在前一行时才使用同行
// NOLINT(<检查名>)。必须带具体检查名并保持最小范围,见
.agents/languages/CPP.md §11。
禁止修改 .clang-tidy 配置——检查集由维护者统一治理。test/**/*.cc 已整体 // NOLINTBEGIN/// NOLINTEND 包裹,tidy 告警
不适用于 test 目录。.agents/languages/CPP.md(如 modernize 类告警按仓库惯用
写法修,而非教科书写法)。まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
以 AddressSanitizer(ENABLE_TEST_SANITIZE=ON)构建并运行 vlink-test 单元测试,复现 CI 的 ASan 门禁。用户要求"跑 asan"、"内存检测测试"、 排查 ci-test 的 sanitize 失败时使用。
日本語の概要は準備中です。原文の説明を表示しています。
构建并运行 vlink-bench 性能基准(showcase/quick/full 预设),生成 HTML/JSON 报告。用户要求"跑 bench"、"性能测试"、对比后端吞吐/延迟、 验证性能回归时使用。
日本語の概要は準備中です。原文の説明を表示しています。
运行 tools/check.sh 对整个仓库执行 cpplint 静态检查(120 列,项目定制 过滤集)。用户要求"跑 check"、"cpplint 检查"、排查 CI lint 门禁失败 时使用。
日本語の概要は準備中です。原文の説明を表示しています。
用 gh CLI 触发/查看 GitHub CI/CD:手动 dispatch 工作流 (release/coverage/docker)、查看运行状态与失败日志、重跑失败 job. 用户要求"触发 CI"、"看流水线"、"重跑失败的 job"时使用;创建 dev 到 master 的 PR 使用 /pr,正式发版使用 /release.
日本語の概要は準備中です。原文の説明を表示しています。
提交前强制执行 VLink 的 format 与 check skill,再分析当前工作树的全部 staged、unstaged 与 untracked 改动,按模块、功能和依赖关系拆分为可独立 评审的 Conventional Commits,生成简洁且覆盖重要行为的英文 commit message 并逐组提交。用户要求“提交当前改动”、“按功能拆 commit”、 “自动写 commit msg”或“整理提交历史”时使用。
日本語の概要は準備中です。原文の説明を表示しています。
以 ENABLE_TEST_COVERAGE=ON 构建、运行测试并生成 lcov 代码覆盖率报告, 复现 CI 的 coverage 流水线。用户要求"跑覆盖率"、"生成 coverage 报告"、查某模块覆盖情况时使用。
日本語の概要は準備中です。原文の説明を表示しています。