项目的cicd要求

目前没有发版本的cd,仅有普通的文档cd, 鉴于功能实现并不完全,暂时不考虑发版本.

本文仅描述ci需求

ci使用github actions进行操作

在pr/push到main/dev分支时,会触发全量ci,覆盖多平台多编译器测试,并使用gcovr报告测试覆盖率,

覆盖面有: meson-ubuntu-x64-gcc meson-ubuntu-x64-clang meson-ubuntu-arm64-gcc meson-ubuntu-arm64-clang meson-macos-x64-llvm meson-macos-arm64-llvm meson-windows-x64-msvc cmake-ubuntu-x64-gcc cmake-ubuntu-x64-clang cmake-macos-arm64-llvm cmake-windows-x64-msvc

覆盖率要求: line > 80% branch > 35%

在其中任意job失败时,ci失败

对于日后我们会逐渐增加测试量,尽量追求line > 90%, branch > 50%

对于cd,现在有基础的cd仅做doxygen文档部署