-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
[RFC] Reconsider the breaking changes check policy #13275
Comments
@peternied @dblock would very much appreciate your thoughts folks, thank you |
@sachinpkale @gbbafna As you were both recently impacted by the ambiguity around how to 'resolve' breaking changes workflow errors what thoughts do you have? |
We need to rethink about the Even if we try to mark it as We tried to mark |
I liked having the breaking change as an indicator. Is it enough to give maintainers the ability to override it with a |
@gbbafna this issue could be solved in multiple ways, depending what we would have in our disposal at given moment of time. To make |
@dblock Here is the issue, we could mark everything as |
@dblock , we can't mark them as @internalapi, as of now as the
@reta , many times we can't mark the classes as package-private as integ tests need access to them as well. |
This is solvable with #13275 (comment) fe |
This check is ours, nothing set in stone, we could modify it in any way we think it makes sense. One option fe, we could to support the The maintainer's judgement does not work - we broke so many APIs :( |
That would be great actually. It would solve the other problem we had of forcibly marking |
I don't think this is 'resolved' but we are making progress (yay!). Keeping this open until we've got more of an end to end idea how this looks. |
This is a good time to make adjustments to APIs that should have breaking changes and revisit breaking change management processes. There is an outstanding proposal for creating OpenSearch 3.0.0 [1] in the near future. |
Is your feature request related to a problem? Please describe
In the #9305, the very useful check has been introduced into the GA workflows to ensure that any changes in public APIs (
@PublicApi
) are non-breaking. However the assumptions that check follows at the moment are too strict: we compare the APIs between current changeset and the latest branch snapshot.Describe the solution you'd like
It seems like we need to reconsider the rules by which the breaking changes are detected. First and foremost, the rules should be release driven:
main
or3.0.0
is next major release which is allowed to have any breaking changes (needs to be documented though)main
or3.0.0
has never been released (it exists in SNAPSHOTs only) and technically any change is allowed hereI would propose for
main
to detect breaking changes against latest 2.x release and make the breaking check advisory: it should not fail the build but, as an option, add a warning comment that breaking changes were detected, needs documentation.Now, where the breaking changes are really important is:
To justify why comparing with release is very important: we should acknowledge that in 2.x there could be new public APIs introduced and since these APIs are new, they could (and should be allowed to) change, in any ways. But once released, it is set in stone and breaking those is not an option.
I believe there we have to be strict and fail the build.
Related component
Build
Describe alternatives you've considered
No response
Additional context
See please #13244
The text was updated successfully, but these errors were encountered: