Test repository for validating artagon-workflows CMake C and C++ CI reusable workflows.
Validates that cmake_c_ci.yml and cmake_cpp_ci.yml reusable workflows:
- Build CMake projects correctly for C and C++
- Run tests and report results
- Support different language standards (C11/17/23, C++17/20/23)
- Handle custom CMake options
- Generate code coverage
- Work across Linux, macOS, Windows
| Test | Standard | Custom Options |
|---|---|---|
| Default | 17 | - |
| C11 | 11 | - |
| C17 | 17 | - |
| C23 | 23 | - |
| Custom | 17 | -DCMAKE_VERBOSE_MAKEFILE=ON |
| Test | Standard |
|---|---|
| Default | 20 |
| C++17 | 17 |
| C++20 | 20 |
| C++23 | 23 |
.
├── CMakeLists.txt # C project configuration
├── src/
│ ├── main.c # C main source
│ └── test.c # C test source
├── cpp/ # C++ project
│ ├── CMakeLists.txt
│ └── src/
│ ├── main.cpp
│ └── test.cpp
└── .github/workflows/
└── ci.yml
- Push to main - Validates changes
- Pull requests - Pre-merge validation
- Daily schedule (2 AM UTC) - Catch upstream breaking changes
- Manual dispatch - On-demand testing
- Repository dispatch - Triggered by trigger_test_repos.yml
mkdir build && cd build
cmake ..
cmake --build .
ctestcd cpp
mkdir build && cd build
cmake ..
cmake --build .
ctest- artagon-workflows - Main workflow repository
- cmake_c_ci.yml - C workflow
- cmake_cpp_ci.yml - C++ workflow
- Testing Guide