[改进后的中文总结内容]
会议纪要:Ceph PR检查改进讨论
会议时间:2023年
参会人员:Casey、Ilia、Yva、Joseph、Adam等
会议议题:
- 改进
make check
的可靠性和减少运行时间 - 讨论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. 全局测试与组件测试的权衡
- 全局测试价值:跨组件的依赖问题在全局测试中有用。
- 组件测试灵活性:根据修改的代码自动选择性运行,减少不必要的测试。
决定事项:
- 优化Draft PR:默认不触发测试,减少Jenkins负载。
- 按需触发测试:仅在PR准备好合并时手动触发全量测试。
- 按组件拆分测试:根据修改的代码自动选择性运行相关测试。
- RBD测试保留:保留在Jenkins上运行RBD测试,作为Toothology的前置验证。
后续行动计划:
- 与构建团队沟通:讨论在Jenkins中实现优化建议。
- 改进测试统计:收集测试失败率和运行时间数据。
- 组件测试拆分:各组件团队决定是否拆分测试。
- 缓存机制引入:探讨在Jenkins中引入缓存机制。
会议总结:
本次会议重点讨论了如何改进make check
的可靠性和减少运行时间,提出了按需触发测试、按组件拆分测试等建议。同时,会议还探讨了Jenkins
CI系统的优化方向,包括缓存机制和测试并行性。各组件团队将根据需求决定测试的拆分和优化策略。