RIBs icon indicating copy to clipboard operation
RIBs copied to clipboard

Ensure binary compatibility for every change on CI.

Open psteiger opened this issue 2 years ago • 3 comments

Going forward, I think we should use a tool such as the binary compatibility validator plugin to avoid making unconscious binary-incompatible changes to the library API.

psteiger avatar Apr 16 '23 16:04 psteiger

I see we previously introduced japicmp plugin (7c48b52db6be7c8917ebcf38436e72aab2dd675e) for checking binary/source compatibility.

However, usage of japicmp in CI was lost in Travis -> GitHub Actions migration (0f657d445562adac09197939545cdf63134899ba)

Wondering what's the best way forward:

  1. We could just reintroduce the task in the GitHub Actions CI, or
  2. Use the JetBrains Binary Compatibility Validator plugin now that we are fully Kotlin on the Android RIBs library.

psteiger avatar Apr 17 '23 16:04 psteiger

We should re-enable japicmp for the short term, then discuss the trade-offs between the Jetbrains solution for a longer term approach. @jbarr21 You originally chose japicmp, was that only because it needed compat between a java to kt migration?

tyvsmith avatar Apr 18 '23 19:04 tyvsmith

i wasn't aware of the latter at the time & had seen other popular community libraries using japicmp, so that was the initial reasoning for going with that tool

jbarr21 avatar Apr 18 '23 21:04 jbarr21