Repository navigation
GHA: add abicheck - #219
mdavidsaver wants to merge 1 commit into
Conversation
|
Thanks for trying this. You are right that At the moment, # .ci-local/abicheck.yml
compile:
defines:
- PVXS_ENABLE_EXPERT_APIThen use the same configuration for both snapshots: abicheck dump \
lib/linux-*/libpvxs.so.* \
--config .ci-local/abicheck.yml \
-I "${HOME}/.cache/base-7.0/include" \
-I "${HOME}/.cache/base-7.0/include/os/Linux" \
-I "${HOME}/.cache/base-7.0/include/compiler/gcc" \
-H include/ \
-o /tmp/pvxs-CUR.jsonand likewise for This does not change how PVXS is built. It only defines Our experimental integration currently omitted this macro, so it covered only the ordinary consumer-visible API. I will update it to include the Expert declarations as requested. I also agree that requiring a config file for this one-off case is not sufficiently intuitive. I will treat the missing dedicated, repeatable I used |
napetrov
left a comment
There was a problem hiding this comment.
Thanks — this is a useful integration, and the current workflow passes.
Please update the abicheck dump invocations before merging:
- Add a checked-in abicheck config used for both current and previous snapshots, with
compile.defines: [PVXS_ENABLE_EXPERT_API]. The stated purpose is to validate the opt-in Expert API; the current diff only captures the ordinary consumer API. Do not addPVXS_API_BUILDING. - Pin the installed abicheck version (or otherwise make the tool version explicit) so baseline comparison remains reproducible.
- Prefer
-o /tmp/...jsonover stdout redirection for persisted snapshots.
The first item is blocking; the latter two are reproducibility/operability improvements.
Add GHA usage of abicheck.
@napetrov Is there a way to define additional C preprocessor macros when
abicheck dumpprocesses headers? This library has an "expert" API which is normally hidden. User code should definePVXS_ENABLE_EXPERT_APIto opt-in. I would like these added definitions to be considered public by abicheck.I first looked for a
abicheck dump -D...argument to parallel the usual-I. I then tried--gcc-options "-DPVXS_ENABLE_EXPERT_API", but saw an arg. parsing error.