zio / zio-kafka

A Kafka client for ZIO and ZIO Streams
https://zio.dev/zio-kafka
Apache License 2.0
336 stars 138 forks source link

Prevent compatibility problems without increasing minor version #1264

Open erikvanoosten opened 3 months ago

erikvanoosten commented 3 months ago

Zio-kafka has mima checks but as soon as there is compatibility problem they need to be disable to prevent every build to fail. This caused the last release to have version 2.7.5 instead of 2.8.0.

We can prevent this by enabling Mima only when we build from a tag (which indicates a release). The check will run against the same minor version, but with patch set to 0 (if patch version is already 0 no mima check is needed). If we're not building against a tag, the compatibility check stays disabled.

There is a downside: we won't notice backward incompatibility until we release. But I think this is better than what we have now. At least it will prevent wrong releases.

Variation: we always run the mima check, but it can only fail the whole build when we're building from a tag.