(1) Test locally on specific python version Is useful for quick iteration.
(2) Test locally on the discoverable python versions Is a useful sanity check for ensuring new development works on multiple versions of python.
(3) Test in dedicated testing environment with guaranteed availability of python versions Is a good final sanity check. Takes longer, but creates a reproducible environment to test off and is a good 'source of truth'.
1 Test locally on specific python version
Testing time for one version is ~1 min. Note this includes the speedup from cached packages
2 Test locally on the discoverable python versions
Testing time across versions 3.7-3.11 is ~4 mins, but note that this speedup includes the speedup from cached packages.
Also note that python 3.7 fails on my machine due to some idiosyncratic issue related to my setup py37/lib/python3.7/site-packages/pip/_vendor/typing_extensions.py ... getting same error as here but not using vscode. Not an issue for me personally but shows an example of why testing within an isolated testing environment could be a good way to ensure reproducible version targeting.
3 Test in dedicated testing environment with guaranteed availability of python versions
Build time for testenv ~5 mins but this is a once-off build for the testenv.
Testing time across versions 3.7-->3.11 is ~6 mins.
Related: https://github.com/blue-yonder/tsfresh/pull/994.
Easiest to go commit by commit. Uses 3 "flows"
(1) Test locally on specific python version Is useful for quick iteration. (2) Test locally on the discoverable python versions Is a useful sanity check for ensuring new development works on multiple versions of python. (3) Test in dedicated testing environment with guaranteed availability of python versions Is a good final sanity check. Takes longer, but creates a reproducible environment to test off and is a good 'source of truth'.
1 Test locally on specific python version
Testing time for one version is ~1 min. Note this includes the speedup from cached packages
2 Test locally on the discoverable python versions
Testing time across versions 3.7-3.11 is ~4 mins, but note that this speedup includes the speedup from cached packages.
Also note that python 3.7 fails on my machine due to some idiosyncratic issue related to my setup
py37/lib/python3.7/site-packages/pip/_vendor/typing_extensions.py
... getting same error as here but not using vscode. Not an issue for me personally but shows an example of why testing within an isolated testing environment could be a good way to ensure reproducible version targeting.3 Test in dedicated testing environment with guaranteed availability of python versions
Build time for testenv ~5 mins but this is a once-off build for the testenv.
Testing time across versions 3.7-->3.11 is ~6 mins.