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
Uh oh!
There was an error while loading. Please reload this page.
-
背景
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