datafusion
datafusion copied to clipboard
Add test to prevent circular dependencies from being added
Which issue does this PR close?
Closes https://github.com/apache/arrow-datafusion/issues/9278
Rationale for this change
Add CI check to prevent circular dependencies from being introduced
What changes are included in this PR?
New test
Are these changes tested?
I tested this manually by adding a circular dependency and running cargo test
. It correctly failed with:
circular dependency detected from datafusion-physical-plan to self via one of {"datafusion-common", "datafusion-functions", "datafusion", "datafusion-expr", "datafusion-execution", "datafusion-functions-array", "datafusion-optimizer", "datafusion-sql", "datafusion-physical-expr"}
Are there any user-facing changes?
No
lgtm thanks @andygrove I think in followup we will put this check separately into its own CI task, what do you think?
Hi @comphead. Are you suggesting that we move the test out of datafusion/core/tests
and into a separate project in the repo that has tests that are specific to CI?
lgtm thanks @andygrove I think in followup we will put this check separately into its own CI task, what do you think?
Hi @comphead. Are you suggesting that we move the test out of
datafusion/core/tests
and into a separate project in the repo that has tests that are specific to CI?
Tbh I haven't thought about moving it to the separate project. The idea was to have a separate CI check for circular dependency test, like we have RAT check, or security audit check
Tbh I haven't thought about moving it to the separate project. The idea was to have a separate CI check for circular dependency test, like we have RAT check, or security audit check
Got it. I filed a follow on issue https://github.com/apache/arrow-datafusion/issues/9338 for discussing this. Thanks for the review!
Thank you @andygrove and @comphead