diff --git a/bin/compile b/bin/compile index a092a28d762b1d57a0008bdcbb7c0db34bd183e5..2d7c661eb373d4505c0dfd006a67ba17be974409 100755 --- a/bin/compile +++ b/bin/compile @@ -49,9 +49,9 @@ export VENDOR_URL # 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.6" -LATEST_36="python-3.6.6" -LATEST_37="python-3.7.0" +DEFAULT_PYTHON_VERSION="python-3.6.7" +LATEST_36="python-3.6.7" +LATEST_37="python-3.7.1" LATEST_35="python-3.5.6" LATEST_34="python-3.4.9" LATEST_27="python-2.7.15" diff --git a/bin/steps/pipenv-python-version b/bin/steps/pipenv-python-version index c8ee06dba2266d1bb1b284f6e3486db48b2e443f..dcdf3c2617559689019f93f69ad62a626cb7a95a 100755 --- a/bin/steps/pipenv-python-version +++ b/bin/steps/pipenv-python-version @@ -19,7 +19,7 @@ if [[ -f $BUILD_DIR/Pipfile ]]; then if [[ "$PYTHON" == "null" ]]; then PYTHON=$(jq -r '._meta.requires.python_version' "$BUILD_DIR/Pipfile.lock") if [ "$PYTHON" = 2.7 ]; then - echo "$LATEST_2" > "$BUILD_DIR/runtime.txt" + echo "$LATEST_27" > "$BUILD_DIR/runtime.txt" fi if [ "$PYTHON" = 3.6 ]; then echo "$LATEST_36" > "$BUILD_DIR/runtime.txt" @@ -33,4 +33,3 @@ if [[ -f $BUILD_DIR/Pipfile ]]; then fi fi fi - diff --git a/spec/hatchet/python_spec.rb b/spec/hatchet/python_spec.rb index 5ae95ed1b24d51f0d979559f7640ddbe048edeb4..39c00269d990d6aabb2c5431c38993c7721f3c96 100644 --- a/spec/hatchet/python_spec.rb +++ b/spec/hatchet/python_spec.rb @@ -4,7 +4,7 @@ describe "Python!!!!!!!!!!!" do it "ðŸ" do Hatchet::Runner.new('python-getting-started', stack: DEFAULT_STACK).deploy do |app| expect(app.output).to match(/Installing pip/) - expect(app.run('python -V')).to match(/3.6.6/) + expect(app.run('python -V')).to match(/3.6.7/) end end end diff --git a/test/fixtures/pipenv-version/Pipfile b/test/fixtures/pipenv-version/Pipfile index cd4e813138e32642c4c9979cf289d2b43241815c..91ec2539881bbcb249109cadc8ab078549398ae8 100644 --- a/test/fixtures/pipenv-version/Pipfile +++ b/test/fixtures/pipenv-version/Pipfile @@ -6,4 +6,4 @@ verify_ssl = true requests = "*" [requires] -python_version = "3.6" \ No newline at end of file +python_version = "3.6" diff --git a/test/fixtures/pipenv-version2/Pipfile b/test/fixtures/pipenv-version2/Pipfile new file mode 100644 index 0000000000000000000000000000000000000000..3026dd10ac2e152ac8062b762d116ebcbe084c81 --- /dev/null +++ b/test/fixtures/pipenv-version2/Pipfile @@ -0,0 +1,11 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] + +[dev-packages] + +[requires] +python_version = "2.7" diff --git a/test/fixtures/pipenv-version2/Pipfile.lock b/test/fixtures/pipenv-version2/Pipfile.lock new file mode 100644 index 0000000000000000000000000000000000000000..637b90ff5ed18a03d96f67a6e125ff69b1a5d7d4 --- /dev/null +++ b/test/fixtures/pipenv-version2/Pipfile.lock @@ -0,0 +1,20 @@ +{ + "_meta": { + "hash": { + "sha256": "ae4bdd7d4157baab65ae9d0e8389a6011e6b640995372c45ec81fa5d1ddfae9f" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "2.7" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": {}, + "develop": {} +} diff --git a/test/fixtures/python2_fail/requirements.txt b/test/fixtures/python2_fail/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..663bd1f6a2ae02f29df59fb4963c17934034f731 --- /dev/null +++ b/test/fixtures/python2_fail/requirements.txt @@ -0,0 +1 @@ +requests \ No newline at end of file diff --git a/test/fixtures/python2_fail/runtime.txt b/test/fixtures/python2_fail/runtime.txt new file mode 100644 index 0000000000000000000000000000000000000000..d42956de9c4f2893134ed473cf17671343f4ee35 --- /dev/null +++ b/test/fixtures/python2_fail/runtime.txt @@ -0,0 +1 @@ +python-2.7.16 diff --git a/test/fixtures/python3_6_7/requirements.txt b/test/fixtures/python3_4_fail/requirements.txt similarity index 100% rename from test/fixtures/python3_6_7/requirements.txt rename to test/fixtures/python3_4_fail/requirements.txt diff --git a/test/fixtures/python3_4_fail/runtime.txt b/test/fixtures/python3_4_fail/runtime.txt new file mode 100644 index 0000000000000000000000000000000000000000..3b5c63e5912725bc4dec2bfc3135db3470d14d8e --- /dev/null +++ b/test/fixtures/python3_4_fail/runtime.txt @@ -0,0 +1 @@ +python-3.4.10 diff --git a/test/fixtures/python3_7_1/requirements.txt b/test/fixtures/python3_5_fail/requirements.txt similarity index 100% rename from test/fixtures/python3_7_1/requirements.txt rename to test/fixtures/python3_5_fail/requirements.txt diff --git a/test/fixtures/python3_5_fail/runtime.txt b/test/fixtures/python3_5_fail/runtime.txt new file mode 100644 index 0000000000000000000000000000000000000000..df4118a6a06eb46538803009ef7a69291fca95dd --- /dev/null +++ b/test/fixtures/python3_5_fail/runtime.txt @@ -0,0 +1 @@ +python-3.5.7 diff --git a/test/fixtures/python3_6/runtime.txt b/test/fixtures/python3_6/runtime.txt index 1935e9778db66275403e99759f51768cc7599918..34b35b713f56868abc889d5798cab36939bec38f 100644 --- a/test/fixtures/python3_6/runtime.txt +++ b/test/fixtures/python3_6/runtime.txt @@ -1 +1 @@ -python-3.6.6 +python-3.6.7 diff --git a/test/fixtures/python3_6_7/runtime.txt b/test/fixtures/python3_6_7/runtime.txt deleted file mode 100644 index 34b35b713f56868abc889d5798cab36939bec38f..0000000000000000000000000000000000000000 --- a/test/fixtures/python3_6_7/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -python-3.6.7 diff --git a/test/fixtures/python3_6_fail/requirements.txt b/test/fixtures/python3_6_fail/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..7e1060246fd6746a14204539a72e199a25469a05 --- /dev/null +++ b/test/fixtures/python3_6_fail/requirements.txt @@ -0,0 +1 @@ +flask diff --git a/test/fixtures/python3_6_fail/runtime.txt b/test/fixtures/python3_6_fail/runtime.txt new file mode 100644 index 0000000000000000000000000000000000000000..9fbd3bf0a8cbd237fdc16f03556d84baf76522be --- /dev/null +++ b/test/fixtures/python3_6_fail/runtime.txt @@ -0,0 +1 @@ +python-3.6.8 diff --git a/test/fixtures/python3_7/runtime.txt b/test/fixtures/python3_7/runtime.txt index 881a2db1abd7719381d1925771e0d4208fb46fb5..4255f73ae6037a2a4a5ddd6a1093c841fc339845 100644 --- a/test/fixtures/python3_7/runtime.txt +++ b/test/fixtures/python3_7/runtime.txt @@ -1 +1 @@ -python-3.7.0 +python-3.7.1 diff --git a/test/fixtures/python3_7_1/runtime.txt b/test/fixtures/python3_7_1/runtime.txt deleted file mode 100644 index 4255f73ae6037a2a4a5ddd6a1093c841fc339845..0000000000000000000000000000000000000000 --- a/test/fixtures/python3_7_1/runtime.txt +++ /dev/null @@ -1 +0,0 @@ -python-3.7.1 diff --git a/test/fixtures/python3_7_fail/requirements.txt b/test/fixtures/python3_7_fail/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..7e1060246fd6746a14204539a72e199a25469a05 --- /dev/null +++ b/test/fixtures/python3_7_fail/requirements.txt @@ -0,0 +1 @@ +flask diff --git a/test/fixtures/python3_7_fail/runtime.txt b/test/fixtures/python3_7_fail/runtime.txt new file mode 100644 index 0000000000000000000000000000000000000000..a01373a365d95c1ab01706aadd1ff7376441ccfa --- /dev/null +++ b/test/fixtures/python3_7_fail/runtime.txt @@ -0,0 +1 @@ +python-3.7.2 diff --git a/test/fixtures/python3_7_warn/requirements.txt b/test/fixtures/python3_7_warn/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..663bd1f6a2ae02f29df59fb4963c17934034f731 --- /dev/null +++ b/test/fixtures/python3_7_warn/requirements.txt @@ -0,0 +1 @@ +requests \ No newline at end of file diff --git a/test/fixtures/python3_7_warn/runtime.txt b/test/fixtures/python3_7_warn/runtime.txt new file mode 100644 index 0000000000000000000000000000000000000000..881a2db1abd7719381d1925771e0d4208fb46fb5 --- /dev/null +++ b/test/fixtures/python3_7_warn/runtime.txt @@ -0,0 +1 @@ +python-3.7.0 diff --git a/test/fixtures/pythonDefault/requirements.txt b/test/fixtures/pythonDefault/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..7e1060246fd6746a14204539a72e199a25469a05 --- /dev/null +++ b/test/fixtures/pythonDefault/requirements.txt @@ -0,0 +1 @@ +flask diff --git a/test/run b/test/run index 67d97c8adf10ba9bf61a187dd9e5919616e6fd26..ae200a11391be04303e8c424ce1cb26700cc2a3a 100755 --- a/test/run +++ b/test/run @@ -19,10 +19,15 @@ testPipenvLock() { testPipenvVersion() { compile "pipenv-version" - assertCaptured "3.6.6" + assertCaptured "3.6.7" assertCapturedSuccess } +testPipenvVersion2() { + compile "pipenv-version2" + assertCaptured "2.7.15" + assertCapturedSuccess +} testPipenvFullVersion() { compile "pipenv-full-version" assertCaptured "3.6.3" @@ -87,6 +92,18 @@ testPylibmc() { assertCapturedSuccess } +testPythonDefault() { + compile "pythonDefault" + assertCaptured "python-3.6.7" + assertCapturedSuccess +} + +testPython2() { + compile "python2" + assertCaptured "python-2.7.15" + assertCapturedSuccess +} + testPython2_warn() { compile "python2_warn" if [[ $STACK = "heroku-18" ]]; then @@ -98,31 +115,41 @@ testPython2_warn() { fi } -testPython2() { - compile "python2" - assertCaptured "python-2.7.15" - assertCapturedSuccess +testPython2_fail() { + compile "python2_fail" + assertCaptured "Aborting" + assertCapturedError +} + +testPython3_4() { + compile "python3_4" + assertCaptured "python-3.4.9" + assertCapturedSuccess } -# This fail testPython3_4_warn() { compile "python3_4_warn" if [[ $STACK = "cedar-14" ]]; then assertCaptured "python-3.4.0" + assertCaptured "security update!" assertCapturedSuccess else assertCapturedError fi } -# This fail -testPython3_4() { - compile "python3_4" - assertCaptured "python-3.4.9" - assertCapturedError +testPython3_4_fail() { + compile "python3_4_fail" + assertCaptured "Aborting" + assertCapturedError +} + +testPython3_5() { + compile "python3_5" + assertCaptured "python-3.5.6" + assertCapturedSuccess } -# This fail testPython3_5_warn() { compile "python3_5_warn" if [[ $STACK = "cedar-14" ]]; then @@ -134,14 +161,18 @@ testPython3_5_warn() { fi } -# This will fail -testPython3_5() { - compile "python3_5" - assertCaptured "python-3.5.6" - assertCapturedError +testPython3_5_fail() { + compile "python3_5_fail" + assertCaptured "Aborting" + assertCapturedError +} + +testPython3_6() { + compile "python3_6" + assertCaptured "python-3.6.7" + assertCapturedSuccess } -# This will warn testPython3_6_warn() { compile "python3_6_warn" assertCaptured "python-3.6.5" @@ -149,33 +180,36 @@ testPython3_6_warn() { assertCapturedSuccess } -testPython3_6() { - compile "python3_6" - assertCaptured "python-3.6.6" - assertCapturedSuccess -} - -# This will fail -testPython3_6_7() { - compile "python3_6_7" - assertCaptured "python-3.6.7" - assertCapturedError +testPython3_6_fail() { + compile "python3_6_fail" + assertCaptured "Aborting" + assertCapturedError } testPython3_7() { compile "python3_7" + if [[ $STACK = "cedar-14" ]]; then + assertCapturedError + else + assertCaptured "python-3.7.1" + assertCapturedSuccess + fi +} + +testPython3_7_warn() { + compile "python3_7_warn" if [[ $STACK = "cedar-14" ]]; then assertCapturedError else assertCaptured "python-3.7.0" + assertCaptured "security update!" assertCapturedSuccess fi } -# This will fail -testPython3_7_1() { - compile "python3_7_1" - assertCaptured "python-3.7.1" +testPython3_7_fail() { + compile "python3_7_fail" + assertCaptured "Aborting" assertCapturedError }