-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Improve MiMa workflows #12778
Comments
Here's the current exclude list, which covers only one issue for one tiny release. Can you image the work that will be required to keep this updated?
|
We could isolate the MiMa checks in a separate GitHub Actions job, that is skipped if the PR title contains a tag like
That is more difficult. It would have to be done in MiMa itself, I believe. |
It is not clear to me why such PRs are open against the main branch instead of a 3.1.x branch where MiMa would be configured to allow source incompatibilities? |
@julienrf There's no branch for the next minor release, the current master at any point can become the next minor or next patch release depending on whether there are compatibility breaking changes, if we created a branch for the next minor release we would have to constantly sync it with the master branch instead. |
I think this is what is done in scala/scala: the 2.12.x branch is regularly merged into the 2.13.x branch. We could have a 3.1.x branch with more relaxed MiMa constraints, where we would regularly merge the content of the 3.0.x branch. If we plan to do other patch releases after 3.0.1, one solution to be able to still have the CI work for us on draft PRs targeting the next minor release (without creating a 3.1.x branch) would be to relax the MiMa constraints in the PR itself. It should be as simple as changing the If we don’t plan to do another patch release after 3.0.1, the main branch could already relax the |
Yes, but we explicitly chose to not go with this model and instead to go with a model closer to the rust one: https://doc.rust-lang.org/book/appendix-07-nightly-rust.html |
Happy to look to make this better. It's been next on the mima todo list for a while, just waiting for a strongly motivating case like this is turning into. |
So this is basically fixed in MiMa 1.0.0 and just needs a version bump (latest is 1.0.1, we're using 0.9.0 atm). I've not been bitten by this yet myself, so I haven't PR the update. But I've seen others been hit so they might be motivated to PR the version bump. |
Seeing that we now use Closed by #14976. |
Currently MiMa does not allow any new additions to the standard library, even for PRs slated for the next minor version and even for things marked as @experimental. What you need to do instead is to add exceptions to an exclude list. I append the current exclude list in a comment below. It should be clear that this is a huge source of boilerplate and very opaque to learn for everyone. I think that makes working with MiMa impossible.
We need to
This is a blocker, as least for my workflow.
The text was updated successfully, but these errors were encountered: