Skip to content

Strengthen MiMa checks #20068

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

Merged
merged 1 commit into from
Apr 19, 2024
Merged

Conversation

nicolasstucki
Copy link
Contributor

@nicolasstucki nicolasstucki commented Apr 2, 2024

Using the latest patch release of the current minor version may lead to some breakages that are not properly checked/tagged in the MiMa filers. For example, if we accidentally introduce a breaking change in 3.M.1 but check against 3.M.2, we would lose this breaking change before the next minor release. If we would check against 3.M.0, we would catch this.

In general we need to track all the changes that have happened in the current minor version. There should not be any breaking changes unless the PR needs a minor release.

@nicolasstucki nicolasstucki marked this pull request as ready for review April 3, 2024 14:04
@nicolasstucki nicolasstucki requested a review from Kordyjan April 3, 2024 14:04
@nicolasstucki nicolasstucki force-pushed the strengthen-mima-checks branch from ee052d7 to 1f7ca72 Compare April 17, 2024 11:24
Copy link
Contributor

@Kordyjan Kordyjan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change looks good!

I think the comment about the version should be slightly reworded for clarity.

Comment on lines 102 to 105
* This must be the earliest published release in the same versioning line.
* For example, if the next version is going to be 3.M.4, then this must be
* set to 3.1.0. If it is going to be 3.1.0, it must be set to the earliest
* 3.0.x release.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wording is confusing. Is the M a typo in the example? Should the second version be then specified as 3.M.0? Isn't the earliest 3.0.x just 3.0.0?

I suggest including explicit rules in this comment. Something along the lines of:

For a base version `3.M.P` the mimaPreviousDottyVersion should be set to:
* `3.M.0` if P > 0
* `3.(M-1).0` if P = 0

Copy link
Contributor Author

@nicolasstucki nicolasstucki Apr 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right, it was meant as a 3.M.0.

I will use your version as it is much clearer and direct. I modified it slightly.

@Kordyjan Kordyjan assigned nicolasstucki and unassigned Kordyjan Apr 19, 2024
Using the latest patch release of the current minor version may lead to
some breakages that are not properly checked/tagged in the MiMa filers.
For example, if we accidentally introduce a breaking change in 3.M.1 but
check against 3.M.2, we would lose this braking change before the next
minor release. If we would check against 3.M.0, we would catch this.

In general we need to track all the changes that have happened in the
current minor version. There should not be any breaking changes unless
the PR needs a minor release.
@Kordyjan
Copy link
Contributor

I've re-ran the failed tests. It seems to be an inconsequential flake.

@nicolasstucki nicolasstucki merged commit 0bf4911 into scala:main Apr 19, 2024
19 checks passed
@nicolasstucki nicolasstucki deleted the strengthen-mima-checks branch April 19, 2024 18:44
@Kordyjan Kordyjan added this to the 3.5.0 milestone May 10, 2024
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.

2 participants