ci: Add a compile the public headers job (#1387) #1870

pull kallal79 wants to merge 3 commits into bitcoin-core:master from kallal79:fix-issue-1387 changing 2 files +24 −0
  1. kallal79 commented at 8:12 PM on June 12, 2026: contributor

    This PR ensures that all public C headers in secp256k1 are strictly self-contained and independently compilable without requiring downstream projects to manually include missing dependencies (like <stddef.h> or <stdint.h>).

    Changes included:

    1. GitHub Actions (ci.yml): Added a dedicated c_headers_debian job that runs gcc and clang in -std=c89 and -pedantic-errors modes to precompile every public header, mirroring the existing C++ checks. Also updated the Windows MSVC job to test headers using -TC (C-mode).
    2. Offline Tests (test_public_headers.c): Created a dedicated C test file that explicitly #includes every public header conditionally based on enabled modules (e.g., ENABLE_MODULE_ECDH). This test is fully integrated into both CMakeLists.txt and Makefile.am so it will automatically be verified during local make check and ctest runs.
  2. ci: Add a compile the public headers job (#1387) 10c8d6be65
  3. real-or-random added the label assurance on Jun 17, 2026
  4. real-or-random added the label ci on Jun 17, 2026
  5. real-or-random commented at 11:53 AM on June 17, 2026: contributor
  6. ci: Remove redundant test_public_headers.c 64e7307d18
  7. build: Clean up trailing newlines 4c4004d780

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-06-20 23:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me