ABACUS CI building #58
Closed
darelbeida
started this conversation in
General
Replies: 1 comment
-
从 Intel OneAPI 2021 开始,已经可以用 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
背景
ABACUS 代码库由于代码拆分、重构等目标,目前处于快速迭代过程中,需要自动化的机制维护代码质量。字节的同学在日常项目维护中累积了一部分项目管理、自动化测试的经验,可以贡献给开源社区。
目前ABACUS代码库中已经包含众多测试项,可以通过脚本一键执行。希望在搭建自动化测试流程后,可以随着代码的提交(或合并),触发自动的代码编译、合规检查与代码测试。
工作分解
跑通GNU环境编译
之前在2020版本的ABACUS跑通GNU环境编译与测试的文档记录:ABACUS CI 流程搭建讨论
当前ABACUS master代码直接丢进GNU环境编译,会遇到部分gcc与icc不兼容导致的编译错误。
@夏宇 快速趟通gcc不兼容的问题,修改代码跑通GNU环境下的编译。
跑通后将代码修改通过PR提交给@郑大也,大也总结出代码规范用于之后的团队代码开发。
Docker 镜像制作
选择GNU环境为基础,制作ABACUS编译&执行环境的Docker镜像。
后续 @郑大也 考察各超算下的环境,分别制作Docker镜像,扩展CI矩阵。(这里需要解决Intel环境软件付费的问题)
CI 的执行资源统筹
@夏宇 优先在Github免费算力或者廉价的公有云小实例上跑通CI流程。
@郑大也 对CI计算量与执行频率进行评估,综合考虑CI专用的公有云服务购置。
这里因为有对公网开放端口的需要,出于安全原因暂不考虑使用自有机器进行CI服务器搭建的方案。
工作的排期
@夏宇 在接下来一周半内走通最小化的CI流程,跑通其中一个测试。
后续随着算力的扩充跑通完整测试脚本,并尝试将CI扩充到更多种的Docker环境下。
Beta Was this translation helpful? Give feedback.
All reactions