##############################################################################
echo "---> tox-install.sh"
-# Ensure we fail the job if any steps fail.
-# DO NOT set -u as virtualenv's activate script has unbound variables
-set -e -o pipefail
+# Ensure we fail the job if any steps fail or variables are missing.
+# Use -x to show value of $PYTHON in output
+set -eux -o pipefail
-python -m pip install --user --quiet --upgrade argparse detox "tox<3.0.0" tox-pyenv
+#Python 3.5 and python2 tox in Ubuntu 16.04 workaround
+done="False"
+if [[ -f /etc/lsb-release ]]; then
+ # shellcheck disable=SC1091
+ source /etc/lsb-release
+ if [[ $DISTRIB_RELEASE == "16.04" ]]; then
+ echo "WARNING: Python projects should move to Ubuntu 18.04 to continue receiving support"
+ python2 -m pip install --user --quiet --upgrade tox tox-pyenv virtualenv more-itertools~=5.0.0
+ python3 -m pip install --user --quiet --upgrade tox tox-pyenv virtualenv zipp==1.1.0
+ done="True"
+ fi
+fi
-echo "----> pip freeze"
-pip freeze
+if [[ $done != "True" ]]; then
+ python -m pip install --user --quiet --upgrade tox tox-pyenv virtualenv zipp more-itertools~=5.0.0
+ python3 -m pip install --user --quiet --upgrade tox tox-pyenv virtualenv
+fi
+
+# installs are silent, show version details in log
+$PYTHON --version
+$PYTHON -m pip --version
+$PYTHON -m pip freeze