-
Notifications
You must be signed in to change notification settings - Fork 836
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
feat: add dependency check step to build pipeline #16265
Conversation
tadelesh
commented
Nov 24, 2021
- The purpose of this PR is explained in this or a referenced issue.
- The PR does not update generated files.
- These files are managed by the codegen framework at Azure/autorest.go.
- Tests are included and/or updated for code changes.
- Updates to CHANGELOG.md are included.
- MIT license headers are included in each file.
Incompatible dependency with different packages will cause mod auto-resolving failure when customer import multiple v2 packages including data plane and mgmt. plane SDK. This script added to build process will import all the v2 modules and try to resolve dependency as well as build and vet to ensure any update not breaking the package compatible. But it still exists a chicken and egg situation. This step will fail if any breaking change in common package like |
58eceff
to
05c18d7
Compare
b38b7ef
to
1dfb39c
Compare
This shouldn't be a problem post-GA. Seems expensive to build the world for each PR. |
According to ci log, it will take about 3.5mins in average. It seems expensive indeed, but I think maybe it is valuable before GA as we may have multiple breaking changes. I don't know whether there is a more economic way to do such check, maybe we could just use it temporary and keep it as a tool after GA. @lirenhe @ArcturusZhang what do you think? |
/azp run go - azkeys |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run go - azkeys |
Azure Pipelines successfully started running 1 pipeline(s). |
@tadelesh in the tests run against azkeys, the |
/azp run go - azkeys |
Azure Pipelines successfully started running 1 pipeline(s). |
I've removed all the |
Thanks for removing that flag, the output is much clearer now. I have a fix for that once I can release changes to internal. For now that should not be blocking on this PR. |
@seankane-msft If this PR merge first, will it be conflict with the 'nightly build' change you are doing? @benbp @weshaggard Could you help to have a review? |
I don't believe so. |
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.
LGTM
2ee3460
to
9743fba
Compare
/azp run go - azkeys |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run go - azkeys |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
A couple comments but looks good.
/check-enforcer override |
I'm unclear why this was merged, especially when we a) have breaking changes that haven't been released yet and b) have a few more on the way (you can see that CI failed in this PR even). I thought this was going to be enabled post-GA? |
The check enforcer should not have been overridden here (at the very least without a comment on justification) when the pipeline failure was a direct result of the change. |
Got it. This check is a chicken-and-egg conundrum. So I just bypassed it if any breaking change is intentional. It's good to be set as an optional before GA. |
* feat: add dependency check step to build pipeline * fix: move depency check from build-test to analyze * fix: remove all -x flag in go build to show clear error log * fix: change param path and simplify implementation * fix: remove unnecessary ignore package * fix: use retract info to judge whether a package is deprecated * fix: change path compare to more simple way * fix: some script refine