Skip to content

Align the default CMake build with the Go test architecture #101

Description

@ULookup

Target Version

3.0-dev,调查基于 #100 提交 db48940;故障文件与前序 #98 相同。

Evidence

2026-09-13,本地 Ubuntu 虚拟机执行 cmake -S . -B build -DCMAKE_BUILD_TYPE=Release 和 cmake --build build -j2。九个业务服务均编译完成,但默认构建继续进入 common/test/test_redis_mutex_contract,因 fmt/spdlog/brpc/bvar 符号未链接而 exit 2。完整输出 issue97/build.log。随后显式构建九服务目标 exit 0,记录 build-services.log。common/test/CMakeLists.txt 对该旧 C++ 目标没有 target_link_libraries,且根 CMakeLists.txt 无条件加入 common/test。

Problem or Goal

让默认开发构建与当前 Go 测试架构一致,不因退役的 C++ 测试目标使已成功的业务服务构建整体失败。

Scope

整理默认 CMake 构建入口,明确现存 common/test 的遗留地位;用 Go 构建契约验证默认入口和九服务产物,更新构建说明。

Non-goals

不新增或恢复 C++ 测试,不将旧 C++ 测试当作当前行为证据,不改变业务服务逻辑或扩大 #97 的生产修改。

Acceptance Criteria

  • 先用 Go 验证器调用默认构建或可观察构建图取得有效 RED。
  • 默认 Release 构建成功,九个服务产物齐全。
  • 当前 Go 行为回归继续执行,没有以删除有效 Go 覆盖掩盖失败。
  • 旧 C++ 文件的处理与 Skill、CMake 和构建文档一致。

Test-first Plan

先确认并记录实际默认构建失败,通过 Go 构建契约表达有效产物和默认目标要求,再调整入口;回归 Linux 构建、Go contracts、BVT 和适用 CI。

Risk and Security

只修改开发构建和说明;保留审计输出,不删除用户代码或数据。不恢复已禁止的 C++ 测试体系。

Architecture Impact

No,不改变服务拓扑;明确构建入口与现有测试架构的一致性。

Core-flow Impact

No,业务流程不变。

Required Skill Updates

.agents/skills/chatnow-orienting/references/technology-stack.md;.agents/skills/chatnow-testing/references/framework.md;必要时同步 .agents/skills/chatnow-verifying-changes/SKILL.md 的构建说明。

Implementation Evidence

修复实现于 Draft PR #110(ddd3fa9)。Go BLD-01 在实际 CMake file-API 中先观察到 21 个目标并断言失败,移除默认 legacy 子目录后恰好九服务;默认 Release 构建通过且九产物 SHA-256 已记录。当前静态契约(含构建图门禁反例)、vet、格式、策略及本地 18 项 BVT 通过;当前提交 CI 34760040499 的 build、service-artifacts、BVT、Functional、Reliability 已全部成功;builder 内真实构建图及默认九服务编译通过。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions