FreeRTOS/CI-CD-Github-Actions

GitHub: FreeRTOS/CI-CD-Github-Actions

为 FreeRTOS 及 AWS 嵌入式库仓库提供的一组通用 GitHub Actions,用于在 CI/CD 中执行代码复杂度分析、格式化检查、覆盖率验证和内存统计等代码质量保障任务。

Stars: 25 | Forks: 33

### [CI-CD-Github-Actions](https://github.com/FreeRTOS/CI-CD-Github-Actions) 本仓库包含用于 CI/CD 的通用 GitHub Actions, 适用于 [FreeRTOS](https://github.com/FreeRTOS/FreeRTOS-LTS/tree/main/FreeRTOS) 和 [AWS](https://github.com/FreeRTOS/FreeRTOS-LTS/tree/main/aws) 库 仓库。 目前包含: FreeRTOS 仓库: [FreeRTOS](https://github.com/FreeRTOS/FreeRTOS)、 [FreeRTOS-Kernel](https://github.com/FreeRTOS/FreeRTOS-Kernel)、 [FreeRTOS-Plus-TCP](https://github.com/FreeRTOS/FreeRTOS-Plus-TCP) 和 [FreeRTOS-Cellular-Interface](https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface), FreeRTOS 库仓库: [backoffAlgorithm](https://github.com/FreeRTOS/backoffAlgorithm)、 [coreHTTP](https://github.com/FreeRTOS/coreHTTP)、 [coreJSON](https://github.com/FreeRTOS/coreJSON)、 [coreMQTT](https://github.com/FreeRTOS/coreMQTT) [corePKCS11](https://github.com/FreeRTOS/corePKCS11)、 和 [coreSNTP](https://github.com/FreeRTOS/coreSNTP), AWS 库仓库: [Device-Defender](https://github.com/aws/device-defender-for-aws-iot-embedded-sdk)、 [Device-Shadow](https://github.com/aws/device-shadow-for-aws-iot-embedded-sdk)、 [Fleet-Provisioning](https://github.com/aws/fleet-provisioning-for-aws-iot-embedded-sdk)、 [Jobs](https://github.com/aws/jobs-for-aws-iot-embedded-sdk)、 [Ota](https://github.com/aws/ota-for-aws-iot-embedded-sdk) 和 [Sigv4](https://github.com/aws/sigv4-for-aws-iot-embedded-sdk) 目前,本仓库包含用于以下代码质量检查的 actions, 这些检查在 FreeRTOS 库上运行。 * **复杂度** - 使用 [GNU Complexity](https://www.gnu.org/software/complexity/manual/complexity.html) 验证库函数的复杂度得分是否低于 16。 * **[Clang-Formatting](https://clang.llvm.org/docs/ClangFormat.html)** - 验证仓库的所有代码文件是否符合 [clang-format](clang-formatting/.clang-format) 中定义的格式化标准。 * **[Uncrustify](https://github.com/uncrustify/uncrustify) 格式化** - 验证仓库的所有文件是否符合 [uncrustify.cfg](formatting/uncrustify.cfg) 中定义的格式化标准。 * **Doxygen** - 验证仓库的 doxygen 手册能否 无警告地构建。 * **拼写检查** - 使用 [CSpell](https://cspell.org/) 检查仓库 所有文件中的拼写。每个 FreeRTOS 库仓库 都应包含一个 **.github/.cSpellWords.txt** 文件。 * **覆盖率检查** - 强制要求 FreeRTOS 库的单元测试达到 最低的分支和代码行覆盖率阈值。在使用此 action 之前, 应先获取运行单元测试生成的 **lcov** 覆盖率输出。 * **内存统计** - 为 FreeRTOS 库文档中使用的库文件生成 内存估算表格。这些内存估算是通过使用 ARM GCC 工具链 构建库来生成的。 * **链接验证器** - 验证源文件和 Markdown 文件中存在的链接。 验证的链接包括 HTTP。 * **Manifest.yml 验证器** - 验证 `manifest.yml` 文件中的信息 是否与仓库关于 submodule 及其 commit ID 的状态一致。 URL,以及 - 对于 Markdown 文件 - 相对文件路径链接和章节锚点。
标签:FreeRTOS, GitHub Actions, 代码质量检查, 客户端加密, 物联网, 自动笔记