Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Report binary incompatibilities #815

Open
exoego opened this issue Aug 12, 2019 · 4 comments
Open

Report binary incompatibilities #815

exoego opened this issue Aug 12, 2019 · 4 comments
Labels
enhancement New feature or request

Comments

@exoego
Copy link
Contributor

exoego commented Aug 12, 2019

It would be great if Steward report binary incompatibilities on PR using https://github.com/lightbend/mima or something.

@fthomas fthomas added the enhancement New feature or request label Aug 16, 2019
@exoego
Copy link
Contributor Author

exoego commented Aug 19, 2019

I am working on this.
To avoid huge conflicts, I will open a PR after my other PRs get merged.

@He-Pin
Copy link
Contributor

He-Pin commented Dec 13, 2020

@exoego I just come up with this idea too, any progress?

@fthomas
Copy link
Member

fthomas commented Jan 31, 2021

I guess the idea here is that Scala Steward compares the current version and the proposed version of a dependency with MiMa but I'm wondering how useful such report would be. Imagine MiMa finds incompatibilities and Scala Steward reports them in the PR body. As receiver of this report how would you know that these incompatibilities have negative consequences for your project? Wouldn't you need to check that all your other dependencies and their transitive dependencies aren't affected by the incompatibilities? How would a human do that?

I could imagine that it would make more sense that the project receiving PRs from Scala Steward uses https://github.com/scalacenter/sbt-missinglink as part of its CI which would check automatically that the project is not affected by any binary incompatibilities of the new version.

@exoego
Copy link
Contributor Author

exoego commented Jan 31, 2021

Ah, I did not know missinglink.
It sounds very useful for "application" repos, where use libraries solely.

I initially thought mima is useful for "library", like cats or circe, which is depended by many other projects, therefore binary compatibilities is important.
In such repo, authors want to avoid bin-incompatibility when updating dependencies.

It seems that missinglink covers 2nd use case too.
I will attempt to make a PR using missinglink.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants