Skip to content

Enforce public API stability with binary-compatibility-validator (#11)#21

Merged
mibrahimdev merged 1 commit into
mainfrom
fix/11-bcv
Jun 13, 2026
Merged

Enforce public API stability with binary-compatibility-validator (#11)#21
mibrahimdev merged 1 commit into
mainfrom
fix/11-bcv

Conversation

@mibrahimdev

Copy link
Copy Markdown
Owner

Closes #11

Apply Kotlin's binary-compatibility-validator at the root project so both
:sharingan and :sharingan-noop get apiDump/apiCheck. Commit the golden public
-API dumps (Android/JVM .api and iOS .klib.api) for each module and run
apiCheck on every PR via a new macOS workflow (macOS so the iOS klib ABI
targets build alongside the Android/JVM surface).

The "swap sharingan-noop in release" safety story depends on the two artifacts
keeping an identical, stable public API; nothing enforced that before. apiCheck
now fails the build when the surface drifts from the committed dumps. The sample
app is excluded (not a published library). Documented apiDump/apiCheck in
AGENTS.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mibrahimdev mibrahimdev merged commit 60d9ab4 into main Jun 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enforce public API stability: add binary-compatibility-validator (BCV) + committed .api dumps + CI apiCheck

1 participant