-
Notifications
You must be signed in to change notification settings - Fork 5.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
Update ci-fix.md: dedup breaking changes guidance #28441
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@konrad-jamrozik @kurtzeborn is there an updated Public source for this guidance? We're seeing issues where Service Teams are regularly breaking this guidance already (e.g. #28380, from less than a week ago) so I'm concerned that removing the Public source for this is only going to exacerbate this issue unfortunately
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tombuildsstuff the linked doc should be available to anyone within Microsoft. Is this not the case?
In any case, we do not rely on documentation for preventing breaking changes, but on automated checks and resulting review by Breaking Change Review Board.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@konrad-jamrozik unfortunately there's a considerable number of folks interacting with this repository who don't work at Microsoft and yet need to reference that document to raise issues with Service Teams.
Whilst I appreciate that your team may not rely on this information, I've found that the breaking change detector is pretty broken (see links below) - so given that external users contribute to this repository, there needs to be a public reference for this; in addition to whatever automated tooling is used.
$filter
option #25080 (it could be to the SDK, but this is the API definition rather than the SDK being changed)notify-keyspace-events
value #22407EventGrid
2022-06-15
: refactorparentType
into a parameter and reference it correctly for all URI paths in the swagger #23562There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tombuildsstuff
Re:
I see:
https://github.com/Azure/azure-rest-api-specs/pull/25080/checks
And the PR got
VersioningReviewRequired
which means this PR possibly violates Azure Versioning Policy due to compatible (non-breaking) change.In general, you made some statements about what is or what is not a breaking change, but I suspect you are unaware of the Azure Versioning Policy that dictates what is flagged by the tooling or not. This policy may not be in agreement with your assessments.
Regarding the need for docs becoming public: do you perhaps have an issue you could point me to where you elaborate on your use case? This will help my team to evaluate which docs to make public.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JeffreyRichter in case you are interested, this thread has more feedback from @tombuildsstuff .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI for @tombuildsstuff (and whoever else might read this)...
Azure has both versioning and breaking change policies.
ANY change to an API contract REQUIRES a new api-version value. So, adding a new optional parameter is not breaking but a new api-version is still required. Therea re multiple reasons for this policy but one reason is because a might need to know what api-version supports the new optional parameter and if the api-version doesn't change, then there is no way to know if it is supported on their specific cloud.
Azure's breaking change policy goes like this: Customers should be able to adopt a new api-version of a service without requiring ANY other code changes to get the same exact behavior they got before. If a code change is REQUIRED, then the customer is broken. Some changes will not break the HTTP API but may break SDKs - in this case, we still consider them breaking as a large set of Azure customers use our SDKs.