diff --git a/Makefile b/Makefile index 43c2bbf..85dc5a4 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ test: test-heroku-18 test-heroku-16 check: - @shellcheck -x bin/compile bin/detect bin/release bin/test-compile bin/utils bin/warnings + @shellcheck -x bin/compile bin/detect bin/release bin/test-compile bin/utils bin/warnings bin/default_pythons @shellcheck -x bin/steps/collectstatic bin/steps/eggpath-fix bin/steps/eggpath-fix2 bin/steps/gdal bin/steps/geo-libs bin/steps/mercurial bin/steps/nltk bin/steps/pip-install bin/steps/pip-uninstall bin/steps/pipenv bin/steps/pipenv-python-version bin/steps/pylibmc bin/steps/python @shellcheck -x bin/steps/hooks/* diff --git a/bin/compile b/bin/compile index ff01f8b..dfc81d1 100755 --- a/bin/compile +++ b/bin/compile @@ -45,16 +45,9 @@ if [[ -n ${BUILDPACK_VENDOR_URL:-} ]]; then fi export VENDOR_URL -# Which versions of Python are we using? -# These variables are used to specify which versions of Python to install by default, -# as well as prompt the user to upgrade if they are using an un–supported version. -# Note: When 3.7 lands, I recommend switching to LATEST_36 and LATEST_37. -DEFAULT_PYTHON_VERSION="python-3.6.8" -LATEST_36="python-3.6.8" -LATEST_37="python-3.7.2" -LATEST_35="python-3.5.6" -LATEST_34="python-3.4.9" -LATEST_27="python-2.7.15" +# Default Python Versions +# shellcheck source=bin/default_pythons +source "$BIN_DIR/default_pythons" # Supported Python Branches PY37="python-3.7" @@ -68,8 +61,7 @@ DEFAULT_PYTHON_STACK="cedar-14" # If pip doesn't match this version (the version we install), run the installer. PIP_UPDATE="9.0.2" -export DEFAULT_PYTHON_VERSION DEFAULT_PYTHON_STACK PIP_UPDATE -export LATEST_27 LATEST_36 LATEST_37 LATEST_35 LATEST_34 +export DEFAULT_PYTHON_STACK PIP_UPDATE export PY37 PY36 PY35 PY27 PY34 # Common Problem Warnings: diff --git a/bin/default_pythons b/bin/default_pythons new file mode 100755 index 0000000..7036aae --- /dev/null +++ b/bin/default_pythons @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +DEFAULT_PYTHON_VERSION="python-3.6.8" +LATEST_36="python-3.6.8" +LATEST_37="python-3.7.2" +LATEST_35="python-3.5.6" +LATEST_34="python-3.4.9" +LATEST_27="python-2.7.16" + +export DEFAULT_PYTHON_VERSION LATEST_37 LATEST_36 LATEST_35 LATEST_34 LATEST_27 diff --git a/test/fixtures/python2/runtime.txt b/test/fixtures/python2/runtime.txt index f27f1cc..d42956d 100644 --- a/test/fixtures/python2/runtime.txt +++ b/test/fixtures/python2/runtime.txt @@ -1 +1 @@ -python-2.7.15 +python-2.7.16 diff --git a/test/fixtures/python2_warn/runtime.txt b/test/fixtures/python2_warn/runtime.txt index 5385682..f27f1cc 100644 --- a/test/fixtures/python2_warn/runtime.txt +++ b/test/fixtures/python2_warn/runtime.txt @@ -1 +1 @@ -python-2.7.14 +python-2.7.15 diff --git a/test/run b/test/run index df9bacb..2bc27cf 100755 --- a/test/run +++ b/test/run @@ -1,5 +1,9 @@ #!/usr/bin/env bash +# Default Python Versions +# shellcheck source=bin/default_pythons +source "$BIN_DIR/default_pythons" + testAirflow() { export SLUGIFY_USES_TEXT_UNIDECODE="yes" compile "airflow" @@ -19,13 +23,13 @@ testPipenvLock() { testPipenvVersion() { compile "pipenv-version" - assertCaptured "3.6.8" + assertCaptured $DEFAULT_PYTHON_VERSION assertCapturedSuccess } testPipenvVersion2() { compile "pipenv-version2" - assertCaptured "2.7.15" + assertCaptured $LATEST_27 assertCapturedSuccess } testPipenvFullVersion() { @@ -95,25 +99,21 @@ testPylibmc() { testPythonDefault() { compile "pythonDefault" - assertCaptured "python-3.6.8" + assertCaptured $DEFAULT_PYTHON_VERSION assertCapturedSuccess } testPython2() { compile "python2" - assertCaptured "python-2.7.15" + assertCaptured $LATEST_27 assertCapturedSuccess } testPython2_warn() { compile "python2_warn" - if [[ $STACK = "heroku-18" ]]; then - assertCapturedError - else - assertCaptured "python-2.7.14" - assertCaptured "security update!" - assertCapturedSuccess - fi + assertCaptured "python-2.7.15" + assertCaptured "security update!" + assertCapturedSuccess } testPython2_fail() { @@ -124,7 +124,7 @@ testPython2_fail() { testPython3_4() { compile "python3_4" - assertCaptured "python-3.4.9" + assertCaptured $LATEST_34 assertCapturedSuccess } @@ -147,7 +147,7 @@ testPython3_4_fail() { testPython3_5() { compile "python3_5" - assertCaptured "python-3.5.6" + assertCaptured $LATEST_35 assertCapturedSuccess } @@ -170,7 +170,7 @@ testPython3_5_fail() { testPython3_6() { compile "python3_6" - assertCaptured "python-3.6.8" + assertCaptured $LATEST_36 assertCapturedSuccess } @@ -192,7 +192,7 @@ testPython3_7() { if [[ $STACK = "cedar-14" ]]; then assertCapturedError else - assertCaptured "python-3.7.2" + assertCaptured $LATEST_37 assertCapturedSuccess fi }