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

Dependency check tool doesn't handle post-beta breaking changes #21116

Open
jhendrixMSFT opened this issue Jul 7, 2023 · 3 comments
Open

Dependency check tool doesn't handle post-beta breaking changes #21116

jhendrixMSFT opened this issue Jul 7, 2023 · 3 comments
Labels
EngSys This issue is impacting the engineering system. test-enhancement

Comments

@jhendrixMSFT
Copy link
Member

We have the following scenario.

armmonitor depends on [email protected] which added features for fakes/tracing.
We need to release [email protected] for a new feature. fakes/tracing are not included in this release (will return in v1.8.0-beta.1)
The PR for [email protected] with the new feature, sans fakes/tracing, fails dependency check as armmonitor@latest fails to compile.

Not sure what the rule would be here to make dependency check pass. Given that this should be a rare corner-case, it might just be simpler to add a flag to bypass dependency checks.

@jhendrixMSFT jhendrixMSFT added the EngSys This issue is impacting the engineering system. label Jul 7, 2023
@jhendrixMSFT jhendrixMSFT mentioned this issue Jul 14, 2023
5 tasks
@jhendrixMSFT
Copy link
Member Author

jhendrixMSFT commented Jul 14, 2023

Another permutation.

github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventgrid imports
github.com/Azure/azure-sdk-for-go/sdk/azcore/messaging: module github.com/Azure/azure-sdk-for-go/sdk/azcore@latest found (v1.7.0, replaced by ../../sdk/azcore), but does not contain package github.com/Azure/azure-sdk-for-go/sdk/azcore/messaging

Here, azeventgrid depends on [email protected]. If the version fetched by azcore@latest is semantically less that what's currently imported, then it should not perform the replacement.
I believe this error is a red herring due to the target branch being behind main.

@jhendrixMSFT
Copy link
Member Author

jhendrixMSFT commented Sep 6, 2023

I think that the rule should be, if a module depends on a version of azcore with a minor version greater than what's to be replaced, that we skip that module.

e.g. azfoo depends on [email protected] and we're testing [email protected] then we skip dependency checking for azfoo as that's bound to fail.

@jhendrixMSFT
Copy link
Member Author

jhendrixMSFT commented Oct 5, 2023

The above rule has a broken corner-case. e.g. if [email protected] contains features that aren't going to be released in [email protected] then we still can't replace the beta version with the GA version (v1.8.0 > v1.8.0-beta.N).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EngSys This issue is impacting the engineering system. test-enhancement
Projects
None yet
Development

No branches or pull requests

2 participants