You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use case: a distribution (plone.app.testing) has a GHA with pipforester that fails due to plone.app.multilingual and Products.CMFPlone having a circular dependency.
It is 100% accurate to report such a circular dependency, but it is outside of plone.app.testing control to break that dependency. No changes on the plone.app.testing code base will fix that circular dependency.
In such cases, it would be great to have an option in pipforester to only fail if the circular dependencies found also involve the given distribution.
i.e. right now in the GHA to check for circular dependencies looks like this:
pip install pipdeptree pipforester
pipdeptree -j > forest.json
# Generate a DOT graph with the circular dependencies, if any
pipforester -i forest.json -o forest.dot --cycles
# Report if there are any circular dependencies, i.e. error if there are any
pipforester -i forest.json --check-cycles -o /dev/null
If we had another parameter (-s ?) then we could update the last command to be:
And despite reporting that plone.app.multilingual and Products.CMFPlone have a circular dependency problem, as that one does not involve plone.app.testingpipforester would return a 0 exit status code, i.e. that all good 👍🏾
Does that make sense? 🤔
The text was updated successfully, but these errors were encountered:
And then we could still have a circular-full gh-action check on one central package, like CMFPlone, that does not use this potential new option, so we have at one package where it still breaks if there is any circular dependency anywhere in the stack.
Yes, I'm delaying the CMFPlone conversion to plone/meta to iron out a bit more the other packages, but we could start with the linting & QA tools first and add tests and circular later as we see that they work on it 👍🏾
Use case: a distribution (
plone.app.testing
) has a GHA withpipforester
that fails due toplone.app.multilingual
andProducts.CMFPlone
having a circular dependency.It is 100% accurate to report such a circular dependency, but it is outside of
plone.app.testing
control to break that dependency. No changes on theplone.app.testing
code base will fix that circular dependency.In such cases, it would be great to have an option in
pipforester
to only fail if the circular dependencies found also involve the given distribution.i.e. right now in the GHA to check for circular dependencies looks like this:
If we had another parameter (
-s
?) then we could update the last command to be:And despite reporting that
plone.app.multilingual
andProducts.CMFPlone
have a circular dependency problem, as that one does not involveplone.app.testing
pipforester
would return a0
exit status code, i.e. that all good 👍🏾Does that make sense? 🤔
The text was updated successfully, but these errors were encountered: