[改进后的中文总结内容]

会议纪要:Ceph PR检查改进讨论

会议时间:2023年
参会人员:Casey、Ilia、Yva、Joseph、Adam等


会议议题:

  1. 改进make check的可靠性和减少运行时间
  2. 讨论Jenkins CI系统的优化

讨论内容:

1. make check的现状与问题

  • 现状make check复杂度随时间增加,运行时间长,可靠性下降,Jenkins上频繁失败。
  • 问题:测试失败率高,运行时间过长,Jenkins服务器负载高,影响开发者效率。

2. 改进建议

  • 移除长时测试:将长时测试从make check中移出,只在Toothology中运行。
  • 按需触发测试:仅在PR准备好合并时手动触发全量测试。
  • 按组件拆分测试:按组件运行相关测试,提升效率。
  • 优化Draft PR:默认不触发测试,手动请求时才运行。
  • 减少不必要的测试:仅对修改的文档进行跳过make check

3. Jenkins CI系统的优化

  • 测试失败统计:改进统计方式,帮助识别需优化的测试。
  • 测试并行性:改进并行构建策略,节省资源。
  • 缓存机制:引入缓存机制,避免重复构建。

4. 测试可靠性与优先级

  • RBD测试特殊性:RBD团队希望在Jenkins上尽可能多地运行测试,作为Toothology的前置验证。
  • 测试优先级:优先运行与修改代码相关的测试,减少全量测试。

5. 全局测试与组件测试的权衡

  • 全局测试价值:跨组件的依赖问题在全局测试中有用。
  • 组件测试灵活性:根据修改的代码自动选择性运行,减少不必要的测试。

决定事项:

  1. 优化Draft PR:默认不触发测试,减少Jenkins负载。
  2. 按需触发测试:仅在PR准备好合并时手动触发全量测试。
  3. 按组件拆分测试:根据修改的代码自动选择性运行相关测试。
  4. RBD测试保留:保留在Jenkins上运行RBD测试,作为Toothology的前置验证。

后续行动计划:

  1. 与构建团队沟通:讨论在Jenkins中实现优化建议。
  2. 改进测试统计:收集测试失败率和运行时间数据。
  3. 组件测试拆分:各组件团队决定是否拆分测试。
  4. 缓存机制引入:探讨在Jenkins中引入缓存机制。

会议总结:

本次会议重点讨论了如何改进make check的可靠性和减少运行时间,提出了按需触发测试、按组件拆分测试等建议。同时,会议还探讨了Jenkins CI系统的优化方向,包括缓存机制和测试并行性。各组件团队将根据需求决定测试的拆分和优化策略。