Open bschimke95 opened 1 year ago
Thanks @bschimke95! Sorry we got to this so slowly.
You're totally right, we should be using tox to handle this. It affects this repo and basically all the other charmed kubeflow repos, too. We've opened https://github.com/canonical/bundle-kubeflow/issues/761 to track this across the whole bundle.
Do you know or have an example of the syntax to do this in tox? I've seen some magic in tox environment names that drive the python version, but not how to do it explicitly - do you have an example we can model our change from?
Bug Description
I checked out the repository locally and tried to simply run the integration tests for
charms/katib-controller
withtox
. The test fails to install the dependencies because of a version conflict between juju and websocket (see logs below).This only surfaces when using Python 3.10 - 3.8 runs just fine. However, since 3.10 is the default on jammy I would assume that Python 3.10 should also be supported.
I see (and verified locally) three possible fixes:
tox
testenv version to 3.8 (if 3.10 is not a requirement)<4.0
which translates to 3.2.2 on my machine. Pinning the version to 3.1.x would resolve the dependency conflict.requirements.txt
file by rerunningpip-compile requirements-integration.in
. This solves the conflict locally for me and is also backward-compatible with Python 3.8Let me know which solution you'd prefer (if any) and I'll happily open a PR to fix it.
To Reproduce
git checkout git@github.com:canonical/katib-operators.git
cd katib-operators/charms/katib-controller
tox
Environment
Relevant Log Output
Additional Context
No response