GitHub - FreeRTOS/CI-CD-Github-Actions: Common GitHub Actions for CI/CD on FreeRTOS library repositories. (original) (raw)
CI-CD-Github-Actions
This repository contains common GitHub Actions for use in CI/CD on FreeRTOS, andAWS, Library Repositories.
This currently includes:
FreeRTOS Repositories:FreeRTOS,FreeRTOS-Kernel,FreeRTOS-Plus-TCP, and FreeRTOS-Cellular-Interface,
FreeRTOS-Library Repositories:backoffAlgorithm,coreHTTP,coreJSON,coreMQTT corePKCS11, and coreSNTP,
AWS-Library Repositories:Device-Defender,Device-Shadow,Fleet-Provisioning,Jobs,Ota, and Sigv4
Currently, this repository contains actions for the following code quality checks that are run on FreeRTOS libraries.
- Complexity - UsesGNU Complexityto verify that the complexity score of library functions is less than 16.
- Clang-Formatting - Validates all code files of a repository comply to the formatting standard defined in clang-format.
- Uncrustify Formatting - Validates all files of a repository comply to the formatting standard defined in uncrustify.cfg.
- Doxygen - Validates that the doxygen manual of the repository can be built without warnings.
- Spellings - Checks spelling, using CSpell, across all files of a repository. Each FreeRTOS library repository should have a .github/.cSpellWords.txt file.
- Coverage Cop - Enforces that the unit tests of a FreeRTOS library meet the minimum thresholds branch and line coverages. The lcov coverage output from running unit tests should be available before using this action.
- Memory Statistics - Generates table of memory estimates for library files used in FreeRTOS library documentation. The memory estimates are generated by building the library with the ARM GCC toolchain.
- Link Verifier - Verifies links present in source and Markdown files. Links verified include HTTP.
- Manifest.yml Verifier - Verifies that information of
manifest.yml
file matches the state of a repository for the presence of submodules and their commit IDs.
URLs, and - for Markdown files - relative file path links and section anchors.