CNA-VGAP-053: No CI workflow builds the C API library or runs its tests
Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.
No workflow at this snapshot configures CNA_BUILD_C_API=ON; the C API workflows only run generators, inventories, a release gate and a header compile matrix, so the library and its tests are verified only in local builds.
- Identifier
CNA-VGAP-053- Category
- Verification gap
- Subsystem
- C API & bindings
- Status
- Open
- Verified against
- CNA
009d40f5(009d40f5dd085c4e674d3479675fac84b12b3e0a) - Evidence basis
- Source-verified: read at TARGET, not executed
- Tests touching this area
- Yes: see Current tests
- Affected contract
- The C API library (CNA_BUILD_C_API) and its test suites under modules/c-api/tests
Expected behaviour
An implementation shipped as a public ABI has at least one CI lane that builds it and runs its tests.
Actual behaviour at TARGET
A search of .github/workflows at 009d40f5 finds no CNA_BUILD_C_API. The c-api-*.yml workflows run generate_abi_baseline.py, generate_compatibility_matrix.py (which compiles the public headers across compilers), generate_coverage_inventory.py, generate_limitations.py and check_release_gate.py. The C++ route bodies, the pure-C and C++ test programs under modules/c-api/tests, and the sanitizer runs that CNA's comments cite are not part of any workflow.
Source locations
.github/workflows/c-api-limitations.yml— generator check only.github/workflows/c-api-compat-matrix.yml— compiles public headers, does not build the library.github/workflows/c-api-release-gate.yml— release-gate check onlymodules/c-api/CMakeLists.txt— the library and test targets that no workflow configuresCMakeLists.txt— option(CNA_BUILD_C_API ... OFF)CMakePresets.json— CNA_BUILD_C_API OFF in the dev, unit and release-modules presetstools/c-api/check_release_gate.py— check_* criteria functionstools/c-api/generate_compatibility_matrix.py— configurations rendered, --check versus --run
Evidence
Checked by reading every workflow under .github/workflows at 009d40f5 and searching them for CNA_BUILD_C_API. Not executed. The C library was not built for this entry either, so its buildability at this snapshot is itself unverified here.
Independently observed as a separate finding (merged): The five c-api-*.yml workflows are build-free and no workflow or preset enables CNA_BUILD_C_API, so the 0.29.0 library, its pure-C and C++ tests and the installed-consumer gate are exercised only in local builds.
Independently observed as a separate finding (merged): The c-api-*.yml workflows check generated records and header compilation only; no workflow or preset enables CNA_BUILD_C_API, and CApi_InstalledConsumer is registered but never run in CI.
Independently observed as a separate finding (merged): No workflow or preset enables CNA_BUILD_C_API, the compatibility-matrix configurations are only rendered into a document, and several release-gate criteria are met by the presence of files, registrations or strings.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
modules/c-api/tests (C++, pure C, fuzz and support programs) exists; nothing in CI runs it.
Regression test
A workflow that configures CNA_BUILD_C_API=ON with one renderer, builds the library and runs the C and C++ test programs, ideally under AddressSanitizer.
Blast radius
Every consumer of the C ABI and of the language bindings layered on it; the C++ API is unaffected.
Workaround
Build the C API locally with -DCNA_BUILD_C_API=ON and run its tests before relying on a route.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- User guide
- C API: status
- Internals
- C API internals: evidence gaps
- Maintainer workflow
- Uncertainty register
- Tests and validation
- Test architecture: CI
- Known issues
- Verification gap index