# CI-CD-Github-Actions **Repository Path**: mirrors_FreeRTOS/CI-CD-Github-Actions ## Basic Information - **Project Name**: CI-CD-Github-Actions - **Description**: Common GitHub Actions for CI/CD on FreeRTOS library repositories. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-25 - **Last Updated**: 2026-01-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### [CI-CD-Github-Actions](https://github.com/FreeRTOS/CI-CD-Github-Actions) This repository contains common GitHub Actions for use in CI/CD on [FreeRTOS](https://github.com/FreeRTOS/FreeRTOS-LTS/tree/main/FreeRTOS), and [AWS](https://github.com/FreeRTOS/FreeRTOS-LTS/tree/main/aws), Library Repositories. This currently includes: FreeRTOS Repositories: [FreeRTOS](https://github.com/FreeRTOS/FreeRTOS), [FreeRTOS-Kernel](https://github.com/FreeRTOS/FreeRTOS-Kernel), [FreeRTOS-Plus-TCP](https://github.com/FreeRTOS/FreeRTOS-Plus-TCP), and [FreeRTOS-Cellular-Interface](https://github.com/FreeRTOS/FreeRTOS-Cellular-Interface), FreeRTOS-Library Repositories: [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), and [coreSNTP](https://github.com/FreeRTOS/coreSNTP), AWS-Library Repositories: [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), and [Sigv4](https://github.com/aws/sigv4-for-aws-iot-embedded-sdk) Currently, this repository contains actions for the following code quality checks that are run on FreeRTOS libraries. * **Complexity** - Uses [GNU Complexity](https://www.gnu.org/software/complexity/manual/complexity.html) to verify that the complexity score of library functions is less than 16. * **[Clang-Formatting](https://clang.llvm.org/docs/ClangFormat.html)** - Validates all code files of a repository comply to the formatting standard defined in [clang-format](clang-formatting/.clang-format). * **[Uncrustify](https://github.com/uncrustify/uncrustify) Formatting** - Validates all files of a repository comply to the formatting standard defined in [uncrustify.cfg](formatting/uncrustify.cfg). * **Doxygen** - Validates that the doxygen manual of the repository can be built without warnings. * **Spellings** - Checks spelling, using [CSpell](https://cspell.org/), 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.