From 05492e132a0bd12990f0ad43f8b3e5d662bee77c Mon Sep 17 00:00:00 2001 From: Casey Faist Date: Tue, 13 Nov 2018 15:34:07 -0600 Subject: [PATCH 01/10] add next runtimes --- builds/runtimes/python-3.4.10 | 33 +++++++++++++++++++++++++++++++++ builds/runtimes/python-3.5.7 | 33 +++++++++++++++++++++++++++++++++ builds/runtimes/python-3.6.8 | 33 +++++++++++++++++++++++++++++++++ builds/runtimes/python-3.7.2 | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 132 insertions(+) create mode 100755 builds/runtimes/python-3.4.10 create mode 100755 builds/runtimes/python-3.5.7 create mode 100755 builds/runtimes/python-3.6.8 create mode 100755 builds/runtimes/python-3.7.2 diff --git a/builds/runtimes/python-3.4.10 b/builds/runtimes/python-3.4.10 new file mode 100755 index 0000000..840f00d --- /dev/null +++ b/builds/runtimes/python-3.4.10 @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python/ + +OUT_PREFIX=$1 +BIN_DIR="$(cd "$(dirname "$0")"/../.. || exit; pwd)/bin" +export BIN_DIR + +# shellcheck source=bin/utils +source "$BIN_DIR/steps/sqlite3" + +sqlite3_version +echo "Setting up SQLite3 Headers for $SQLITE3_VERSION" +sqlite3_install "$OUT_PREFIX" "$SQLITE3_VERSION" 1 + +# LAST EXPECTED 3.4 RELEASE: March 2019 +echo "Building Python…" +SOURCE_TARBALL='https://python.org/ftp/python/3.4.10/Python-3.4.10.tgz' +curl -L $SOURCE_TARBALL | tar xz +mv Python-3.4.9 src +cd src + +./configure --prefix=$OUT_PREFIX --with-ensurepip=no +make +make install + +# Remove unneeded test directories, similar to the official Docker Python images: +# https://github.com/docker-library/python +find "${OUT_PREFIX}" \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' + + +# Remove spare / +LOCATION=${OUT_PREFIX%?} + +ln $LOCATION/bin/python3 $LOCATION/bin/python diff --git a/builds/runtimes/python-3.5.7 b/builds/runtimes/python-3.5.7 new file mode 100755 index 0000000..1321db9 --- /dev/null +++ b/builds/runtimes/python-3.5.7 @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python/ + +OUT_PREFIX=$1 +BIN_DIR="$(cd "$(dirname "$0")"/../.. || exit; pwd)/bin" +export BIN_DIR + +# shellcheck source=bin/utils +source "$BIN_DIR/steps/sqlite3" + +sqlite3_version +echo "Setting up SQLite3 Headers for $SQLITE3_VERSION" +sqlite3_install "$OUT_PREFIX" "$SQLITE3_VERSION" 1 + +# EXPECTED RELEASE: March 2019 +echo "Building Python…" +SOURCE_TARBALL='https://python.org/ftp/python/3.7.1/Python-3.7.1.tgz' +curl -L $SOURCE_TARBALL | tar xz +mv Python-3.7.1 src +cd src + +./configure --prefix=$OUT_PREFIX --with-ensurepip=no +make +make install + +# Remove unneeded test directories, similar to the official Docker Python images: +# https://github.com/docker-library/python +find "${OUT_PREFIX}" \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' + + +# Remove spare / +LOCATION=${OUT_PREFIX%?} + +ln $LOCATION/bin/python3 $LOCATION/bin/python diff --git a/builds/runtimes/python-3.6.8 b/builds/runtimes/python-3.6.8 new file mode 100755 index 0000000..cb281af --- /dev/null +++ b/builds/runtimes/python-3.6.8 @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python/ + +OUT_PREFIX=$1 +BIN_DIR="$(cd "$(dirname "$0")"/../.. || exit; pwd)/bin" +export BIN_DIR + +# shellcheck source=bin/utils +source "$BIN_DIR/steps/sqlite3" + +sqlite3_version +echo "Setting up SQLite3 Headers for $SQLITE3_VERSION" +sqlite3_install "$OUT_PREFIX" "$SQLITE3_VERSION" 1 + +# EXPECTED RELEASE: 12/16/2018 +echo "Building Python…" +SOURCE_TARBALL='https://python.org/ftp/python/3.6.8/Python-3.6.8.tgz' +curl -L $SOURCE_TARBALL | tar xz +mv Python-3.6.8 src +cd src + +./configure --prefix=$OUT_PREFIX --with-ensurepip=no +make +make install + +# Remove unneeded test directories, similar to the official Docker Python images: +# https://github.com/docker-library/python +find "${OUT_PREFIX}" \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' + + +# Remove spare / +LOCATION=${OUT_PREFIX%?} + +ln $LOCATION/bin/python3 $LOCATION/bin/python diff --git a/builds/runtimes/python-3.7.2 b/builds/runtimes/python-3.7.2 new file mode 100755 index 0000000..34b3369 --- /dev/null +++ b/builds/runtimes/python-3.7.2 @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python/ + +OUT_PREFIX=$1 +BIN_DIR="$(cd "$(dirname "$0")"/../.. || exit; pwd)/bin" +export BIN_DIR + +# shellcheck source=bin/utils +source "$BIN_DIR/steps/sqlite3" + +sqlite3_version +echo "Setting up SQLite3 Headers for $SQLITE3_VERSION" +sqlite3_install "$OUT_PREFIX" "$SQLITE3_VERSION" 1 + +# EXPECTED RELEASE: 2018-12-16 +echo "Building Python…" +SOURCE_TARBALL='https://python.org/ftp/python/3.7.2/Python-3.7.2.tgz' +curl -L $SOURCE_TARBALL | tar xz +mv Python-3.7.2 src +cd src + +./configure --prefix=$OUT_PREFIX --with-ensurepip=no +make +make install + +# Remove unneeded test directories, similar to the official Docker Python images: +# https://github.com/docker-library/python +find "${OUT_PREFIX}" \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' + + +# Remove spare / +LOCATION=${OUT_PREFIX%?} + +ln $LOCATION/bin/python3 $LOCATION/bin/python From f2165aaac688b5f8704bf54d576916d9bfc9a905 Mon Sep 17 00:00:00 2001 From: Casey Faist Date: Tue, 13 Nov 2018 16:11:14 -0600 Subject: [PATCH 02/10] update test fixtures for new python runtimes --- test/fixtures/python2_fail/requirements.txt | 1 + test/fixtures/python2_fail/runtime.txt | 1 + .../requirements.txt | 0 test/fixtures/python3_4_fail/runtime.txt | 1 + .../requirements.txt | 0 test/fixtures/python3_5_fail/runtime.txt | 1 + test/fixtures/python3_6/runtime.txt | 2 +- test/fixtures/python3_6_7/runtime.txt | 1 - test/fixtures/python3_6_fail/requirements.txt | 1 + test/fixtures/python3_6_fail/runtime.txt | 1 + test/fixtures/python3_7/runtime.txt | 2 +- test/fixtures/python3_7_1/runtime.txt | 1 - test/fixtures/python3_7_fail/requirements.txt | 1 + test/fixtures/python3_7_fail/runtime.txt | 1 + test/fixtures/python3_7_warn/requirements.txt | 1 + test/fixtures/python3_7_warn/runtime.txt | 1 + test/fixtures/pythonDefault/requirements.txt | 1 + test/run | 95 ++++++++++++------- 18 files changed, 75 insertions(+), 37 deletions(-) create mode 100644 test/fixtures/python2_fail/requirements.txt create mode 100644 test/fixtures/python2_fail/runtime.txt rename test/fixtures/{python3_6_7 => python3_4_fail}/requirements.txt (100%) create mode 100644 test/fixtures/python3_4_fail/runtime.txt rename test/fixtures/{python3_7_1 => python3_5_fail}/requirements.txt (100%) create mode 100644 test/fixtures/python3_5_fail/runtime.txt delete mode 100644 test/fixtures/python3_6_7/runtime.txt create mode 100644 test/fixtures/python3_6_fail/requirements.txt create mode 100644 test/fixtures/python3_6_fail/runtime.txt delete mode 100644 test/fixtures/python3_7_1/runtime.txt create mode 100644 test/fixtures/python3_7_fail/requirements.txt create mode 100644 test/fixtures/python3_7_fail/runtime.txt create mode 100644 test/fixtures/python3_7_warn/requirements.txt create mode 100644 test/fixtures/python3_7_warn/runtime.txt create mode 100644 test/fixtures/pythonDefault/requirements.txt diff --git a/test/fixtures/python2_fail/requirements.txt b/test/fixtures/python2_fail/requirements.txt new file mode 100644 index 0000000..663bd1f --- /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 0000000..d42956d --- /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 0000000..3b5c63e --- /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 0000000..df4118a --- /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 1935e97..34b35b7 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 34b35b7..0000000 --- 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 0000000..7e10602 --- /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 0000000..9fbd3bf --- /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 881a2db..4255f73 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 4255f73..0000000 --- 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 0000000..7e10602 --- /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 0000000..a01373a --- /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 0000000..663bd1f --- /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 0000000..881a2db --- /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 0000000..7e10602 --- /dev/null +++ b/test/fixtures/pythonDefault/requirements.txt @@ -0,0 +1 @@ +flask diff --git a/test/run b/test/run index 67d97c8..6fb5000 100755 --- a/test/run +++ b/test/run @@ -87,6 +87,18 @@ testPylibmc() { assertCapturedSuccess } +testPythonDefault() { + compile "pythonDefault" + assertCaptured "python-3.6.6" + assertCapturedSuccess +} + +testPython2() { + compile "python2" + assertCaptured "python-2.7.15" + assertCapturedSuccess +} + testPython2_warn() { compile "python2_warn" if [[ $STACK = "heroku-18" ]]; then @@ -98,31 +110,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 +156,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,17 +175,10 @@ 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() { @@ -167,15 +186,25 @@ testPython3_7() { if [[ $STACK = "cedar-14" ]]; then assertCapturedError else - assertCaptured "python-3.7.0" + assertCaptured "python-3.7.1" assertCapturedSuccess fi } -# This will fail -testPython3_7_1() { - compile "python3_7_1" - assertCaptured "python-3.7.1" +testPython3_7_warn() { + compile "python3_7" + if [[ $STACK = "cedar-14" ]]; then + assertCapturedError + else + assertCaptured "python-3.7.0" + assertCaptured "security update!" + assertCapturedSuccess + fi +} + +testPython3_7_fail() { + compile "python3_7_warn" + assertCaptured "Aborting" assertCapturedError } From 8d1ebf72887d5618e3f9bdab36e4ed6d36cb1554 Mon Sep 17 00:00:00 2001 From: Casey Faist Date: Wed, 14 Nov 2018 16:24:46 -0600 Subject: [PATCH 03/10] bump default 3.6 version --- bin/compile | 2 +- test/run | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/compile b/bin/compile index a092a28..98abb54 100755 --- a/bin/compile +++ b/bin/compile @@ -49,7 +49,7 @@ 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" +DEFAULT_PYTHON_VERSION="python-3.6.7" LATEST_36="python-3.6.6" LATEST_37="python-3.7.0" LATEST_35="python-3.5.6" diff --git a/test/run b/test/run index 6fb5000..26e0d1e 100755 --- a/test/run +++ b/test/run @@ -89,7 +89,7 @@ testPylibmc() { testPythonDefault() { compile "pythonDefault" - assertCaptured "python-3.6.6" + assertCaptured "python-3.6.7" assertCapturedSuccess } From 23999846ade543dc5ca8a820995bc84614607b90 Mon Sep 17 00:00:00 2001 From: Casey Faist Date: Wed, 14 Nov 2018 16:41:38 -0600 Subject: [PATCH 04/10] update 3.7 tests typo --- test/run | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/run b/test/run index 26e0d1e..2f5bb3b 100755 --- a/test/run +++ b/test/run @@ -192,7 +192,7 @@ testPython3_7() { } testPython3_7_warn() { - compile "python3_7" + compile "python3_7_warn" if [[ $STACK = "cedar-14" ]]; then assertCapturedError else @@ -203,7 +203,7 @@ testPython3_7_warn() { } testPython3_7_fail() { - compile "python3_7_warn" + compile "python3_7_fail" assertCaptured "Aborting" assertCapturedError } From 2ffb10da344dc8dbaeb85f07774c021d3776d997 Mon Sep 17 00:00:00 2001 From: Casey Faist Date: Wed, 14 Nov 2018 16:57:02 -0600 Subject: [PATCH 05/10] update latest vars in compile --- bin/compile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/compile b/bin/compile index 98abb54..2d7c661 100755 --- a/bin/compile +++ b/bin/compile @@ -50,8 +50,8 @@ export VENDOR_URL # 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.7" -LATEST_36="python-3.6.6" -LATEST_37="python-3.7.0" +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" From 1dfef44085a6a0fb606866c7aee15d5b0921e659 Mon Sep 17 00:00:00 2001 From: Casey Faist Date: Wed, 14 Nov 2018 17:36:59 -0600 Subject: [PATCH 06/10] update default in pipenv test --- test/run | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/run b/test/run index 2f5bb3b..9cb4c6b 100755 --- a/test/run +++ b/test/run @@ -19,7 +19,7 @@ testPipenvLock() { testPipenvVersion() { compile "pipenv-version" - assertCaptured "3.6.6" + assertCaptured "3.6.7" assertCapturedSuccess } From 3434972e32366d47ec3d29d2eb7a18ec558d0d67 Mon Sep 17 00:00:00 2001 From: Casey Faist Date: Thu, 15 Nov 2018 08:57:57 -0600 Subject: [PATCH 07/10] update hatchet expected version --- spec/hatchet/python_spec.rb | 2 +- test/fixtures/pipenv-version/Pipfile | 2 +- test/fixtures/pipenv-version2/Pipfile | 11 +++++++++++ test/fixtures/pipenv-version2/Pipfile.lock | 20 ++++++++++++++++++++ 4 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/pipenv-version2/Pipfile create mode 100644 test/fixtures/pipenv-version2/Pipfile.lock diff --git a/spec/hatchet/python_spec.rb b/spec/hatchet/python_spec.rb index 5ae95ed..39c0026 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 cd4e813..91ec253 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 0000000..3026dd1 --- /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 0000000..637b90f --- /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": {} +} From 88a5ba5d39f61ece4e507ac19bea899d2a30845d Mon Sep 17 00:00:00 2001 From: Casey Faist Date: Thu, 15 Nov 2018 09:09:51 -0600 Subject: [PATCH 08/10] add test for 2.7 pipenv install --- test/run | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/run b/test/run index 9cb4c6b..ae200a1 100755 --- a/test/run +++ b/test/run @@ -23,6 +23,11 @@ testPipenvVersion() { assertCapturedSuccess } +testPipenvVersion2() { + compile "pipenv-version2" + assertCaptured "2.7.15" + assertCapturedSuccess +} testPipenvFullVersion() { compile "pipenv-full-version" assertCaptured "3.6.3" From 0437a6e84fe863b9c7a8dbf3d581b3db796d1e97 Mon Sep 17 00:00:00 2001 From: Casey Faist Date: Thu, 15 Nov 2018 09:37:43 -0600 Subject: [PATCH 09/10] update latest python 2 in pipenv-version step --- bin/steps/pipenv-python-version | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bin/steps/pipenv-python-version b/bin/steps/pipenv-python-version index c8ee06d..dcdf3c2 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 - From b3988a565a59b0e35b49f44cd8c815ebfab123c2 Mon Sep 17 00:00:00 2001 From: Casey Faist Date: Thu, 15 Nov 2018 10:39:19 -0600 Subject: [PATCH 10/10] remove template runtimes to cut down on scope creep --- builds/runtimes/python-3.4.10 | 33 --------------------------------- builds/runtimes/python-3.5.7 | 33 --------------------------------- builds/runtimes/python-3.6.8 | 33 --------------------------------- builds/runtimes/python-3.7.2 | 33 --------------------------------- 4 files changed, 132 deletions(-) delete mode 100755 builds/runtimes/python-3.4.10 delete mode 100755 builds/runtimes/python-3.5.7 delete mode 100755 builds/runtimes/python-3.6.8 delete mode 100755 builds/runtimes/python-3.7.2 diff --git a/builds/runtimes/python-3.4.10 b/builds/runtimes/python-3.4.10 deleted file mode 100755 index 840f00d..0000000 --- a/builds/runtimes/python-3.4.10 +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Build Path: /app/.heroku/python/ - -OUT_PREFIX=$1 -BIN_DIR="$(cd "$(dirname "$0")"/../.. || exit; pwd)/bin" -export BIN_DIR - -# shellcheck source=bin/utils -source "$BIN_DIR/steps/sqlite3" - -sqlite3_version -echo "Setting up SQLite3 Headers for $SQLITE3_VERSION" -sqlite3_install "$OUT_PREFIX" "$SQLITE3_VERSION" 1 - -# LAST EXPECTED 3.4 RELEASE: March 2019 -echo "Building Python…" -SOURCE_TARBALL='https://python.org/ftp/python/3.4.10/Python-3.4.10.tgz' -curl -L $SOURCE_TARBALL | tar xz -mv Python-3.4.9 src -cd src - -./configure --prefix=$OUT_PREFIX --with-ensurepip=no -make -make install - -# Remove unneeded test directories, similar to the official Docker Python images: -# https://github.com/docker-library/python -find "${OUT_PREFIX}" \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' + - -# Remove spare / -LOCATION=${OUT_PREFIX%?} - -ln $LOCATION/bin/python3 $LOCATION/bin/python diff --git a/builds/runtimes/python-3.5.7 b/builds/runtimes/python-3.5.7 deleted file mode 100755 index 1321db9..0000000 --- a/builds/runtimes/python-3.5.7 +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Build Path: /app/.heroku/python/ - -OUT_PREFIX=$1 -BIN_DIR="$(cd "$(dirname "$0")"/../.. || exit; pwd)/bin" -export BIN_DIR - -# shellcheck source=bin/utils -source "$BIN_DIR/steps/sqlite3" - -sqlite3_version -echo "Setting up SQLite3 Headers for $SQLITE3_VERSION" -sqlite3_install "$OUT_PREFIX" "$SQLITE3_VERSION" 1 - -# EXPECTED RELEASE: March 2019 -echo "Building Python…" -SOURCE_TARBALL='https://python.org/ftp/python/3.7.1/Python-3.7.1.tgz' -curl -L $SOURCE_TARBALL | tar xz -mv Python-3.7.1 src -cd src - -./configure --prefix=$OUT_PREFIX --with-ensurepip=no -make -make install - -# Remove unneeded test directories, similar to the official Docker Python images: -# https://github.com/docker-library/python -find "${OUT_PREFIX}" \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' + - -# Remove spare / -LOCATION=${OUT_PREFIX%?} - -ln $LOCATION/bin/python3 $LOCATION/bin/python diff --git a/builds/runtimes/python-3.6.8 b/builds/runtimes/python-3.6.8 deleted file mode 100755 index cb281af..0000000 --- a/builds/runtimes/python-3.6.8 +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Build Path: /app/.heroku/python/ - -OUT_PREFIX=$1 -BIN_DIR="$(cd "$(dirname "$0")"/../.. || exit; pwd)/bin" -export BIN_DIR - -# shellcheck source=bin/utils -source "$BIN_DIR/steps/sqlite3" - -sqlite3_version -echo "Setting up SQLite3 Headers for $SQLITE3_VERSION" -sqlite3_install "$OUT_PREFIX" "$SQLITE3_VERSION" 1 - -# EXPECTED RELEASE: 12/16/2018 -echo "Building Python…" -SOURCE_TARBALL='https://python.org/ftp/python/3.6.8/Python-3.6.8.tgz' -curl -L $SOURCE_TARBALL | tar xz -mv Python-3.6.8 src -cd src - -./configure --prefix=$OUT_PREFIX --with-ensurepip=no -make -make install - -# Remove unneeded test directories, similar to the official Docker Python images: -# https://github.com/docker-library/python -find "${OUT_PREFIX}" \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' + - -# Remove spare / -LOCATION=${OUT_PREFIX%?} - -ln $LOCATION/bin/python3 $LOCATION/bin/python diff --git a/builds/runtimes/python-3.7.2 b/builds/runtimes/python-3.7.2 deleted file mode 100755 index 34b3369..0000000 --- a/builds/runtimes/python-3.7.2 +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Build Path: /app/.heroku/python/ - -OUT_PREFIX=$1 -BIN_DIR="$(cd "$(dirname "$0")"/../.. || exit; pwd)/bin" -export BIN_DIR - -# shellcheck source=bin/utils -source "$BIN_DIR/steps/sqlite3" - -sqlite3_version -echo "Setting up SQLite3 Headers for $SQLITE3_VERSION" -sqlite3_install "$OUT_PREFIX" "$SQLITE3_VERSION" 1 - -# EXPECTED RELEASE: 2018-12-16 -echo "Building Python…" -SOURCE_TARBALL='https://python.org/ftp/python/3.7.2/Python-3.7.2.tgz' -curl -L $SOURCE_TARBALL | tar xz -mv Python-3.7.2 src -cd src - -./configure --prefix=$OUT_PREFIX --with-ensurepip=no -make -make install - -# Remove unneeded test directories, similar to the official Docker Python images: -# https://github.com/docker-library/python -find "${OUT_PREFIX}" \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' + - -# Remove spare / -LOCATION=${OUT_PREFIX%?} - -ln $LOCATION/bin/python3 $LOCATION/bin/python