diff --git a/CHANGELOG.md b/CHANGELOG.md index bfb248f..4ea834e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ # Master +- Python 2.7.18, 3.5.9, 3.7.7 and 3.8.3 are now available (CPython). +- PyPy 2.7 and 3.6, version 7.3.1 are now available (Note: PyPy support is in beta) - Docs: Fix explanation of runtime.txt generation when using pipenv - Bugfix: Correctly detect Python version when using a `python_version` of `3.8` in `Pipfile.lock` diff --git a/README.md b/README.md index dda1bfa..b7f2d6c 100644 --- a/README.md +++ b/README.md @@ -62,10 +62,10 @@ Specify a Python Runtime Supported runtime options include: -- `python-3.8.2` -- `python-3.7.6` +- `python-3.8.3` +- `python-3.7.7` - `python-3.6.10` -- `python-2.7.17` +- `python-2.7.18` ## Tests diff --git a/bin/default_pythons b/bin/default_pythons index 6c6d4a1..f016b86 100755 --- a/bin/default_pythons +++ b/bin/default_pythons @@ -1,14 +1,14 @@ #!/usr/bin/env bash DEFAULT_PYTHON_VERSION="python-3.6.10" -LATEST_38="python-3.8.2" -LATEST_37="python-3.7.6" +LATEST_38="python-3.8.3" +LATEST_37="python-3.7.7" LATEST_36="python-3.6.10" -LATEST_35="python-3.5.7" +LATEST_35="python-3.5.9" LATEST_34="python-3.4.10" -LATEST_27="python-2.7.17" -PYPY_36="pypy3.6-7.2.0" -PYPY_27="pypy2.7-7.2.0" +LATEST_27="python-2.7.18" +PYPY_36="pypy3.6-7.3.1" +PYPY_27="pypy2.7-7.3.1" export DEFAULT_PYTHON_VERSION \ LATEST_38 \ diff --git a/builds/heroku-18.Dockerfile b/builds/heroku-18.Dockerfile index 80ad34d..9ee3080 100644 --- a/builds/heroku-18.Dockerfile +++ b/builds/heroku-18.Dockerfile @@ -1,4 +1,4 @@ -FROM heroku/heroku:18-build.v16 +FROM heroku/heroku:18-build WORKDIR /app ENV WORKSPACE_DIR="/app/builds" \ diff --git a/builds/runtimes/pypy2.7-7.3.1 b/builds/runtimes/pypy2.7-7.3.1 new file mode 100755 index 0000000..40761e9 --- /dev/null +++ b/builds/runtimes/pypy2.7-7.3.1 @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python/ + +source $(dirname $0)/pypy2.7 diff --git a/builds/runtimes/pypy3.6-7.3.1 b/builds/runtimes/pypy3.6-7.3.1 new file mode 100755 index 0000000..e429be8 --- /dev/null +++ b/builds/runtimes/pypy3.6-7.3.1 @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python/ + +source $(dirname $0)/pypy3.6 diff --git a/builds/runtimes/python-2.7.18 b/builds/runtimes/python-2.7.18 new file mode 100755 index 0000000..155e16d --- /dev/null +++ b/builds/runtimes/python-2.7.18 @@ -0,0 +1,27 @@ +#!/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 + +echo "Building Python…" +SOURCE_TARBALL='https://python.org/ftp/python/2.7.18/Python-2.7.18.tgz' +curl -L $SOURCE_TARBALL | tar xz +mv Python-2.7.18 src +cd src + +./configure --prefix=$OUT_PREFIX --enable-unicode=ucs4 --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 '{}' + diff --git a/builds/runtimes/python-3.5.9 b/builds/runtimes/python-3.5.9 new file mode 100755 index 0000000..ad41723 --- /dev/null +++ b/builds/runtimes/python-3.5.9 @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python/ + +source $(dirname $0)/python3 diff --git a/builds/runtimes/python-3.7.7 b/builds/runtimes/python-3.7.7 new file mode 100755 index 0000000..ad41723 --- /dev/null +++ b/builds/runtimes/python-3.7.7 @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# Build Path: /app/.heroku/python/ + +source $(dirname $0)/python3 diff --git a/builds/runtimes/python2 b/builds/runtimes/python2 old mode 100644 new mode 100755 diff --git a/test/fixtures/python2/runtime.txt b/test/fixtures/python2/runtime.txt index b334cca..586b673 100644 --- a/test/fixtures/python2/runtime.txt +++ b/test/fixtures/python2/runtime.txt @@ -1 +1 @@ -python-2.7.17 +python-2.7.18 diff --git a/test/fixtures/python3_5/runtime.txt b/test/fixtures/python3_5/runtime.txt index df4118a..435a592 100644 --- a/test/fixtures/python3_5/runtime.txt +++ b/test/fixtures/python3_5/runtime.txt @@ -1 +1 @@ -python-3.5.7 +python-3.5.9