Unverified Commit 53e33bdf authored by Casey's avatar Casey Committed by GitHub

Merge pull request #814 from heroku/v-152

Python 3.7.3 release
parents 76bb572a 5337dd59
# Python Buildpack Changelog # Python Buildpack Changelog
# 151 (2019-03-) # 152 (2019-04-04)
Python 3.7.3 now available.
# 151 (2019-03-21)
Python 3.5.7 and 3.4.10 now available on all Heroku stacks. Python 3.5.7 and 3.4.10 now available on all Heroku stacks.
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
DEFAULT_PYTHON_VERSION="python-3.6.8" DEFAULT_PYTHON_VERSION="python-3.6.8"
LATEST_36="python-3.6.8" LATEST_36="python-3.6.8"
LATEST_37="python-3.7.2" LATEST_37="python-3.7.3"
LATEST_35="python-3.5.7" LATEST_35="python-3.5.7"
LATEST_34="python-3.4.10" LATEST_34="python-3.4.10"
LATEST_27="python-2.7.16" LATEST_27="python-2.7.16"
......
#!/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/3.7.3/Python-3.7.3.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.7.3 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
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Default Python Versions # Default Python Versions
# shellcheck source=bin/default_pythons # shellcheck source=bin/default_pythons
source "$BIN_DIR/default_pythons" source "bin/default_pythons"
testAirflow() { testAirflow() {
export SLUGIFY_USES_TEXT_UNIDECODE="yes" export SLUGIFY_USES_TEXT_UNIDECODE="yes"
...@@ -98,14 +98,19 @@ testPylibmc() { ...@@ -98,14 +98,19 @@ testPylibmc() {
} }
testPythonDefault() { testPythonDefault() {
updateVersion "pythonDefault" $DEFAULT_PYTHON_VERSION
compile "pythonDefault" compile "pythonDefault"
assertCaptured $DEFAULT_PYTHON_VERSION assertCaptured $DEFAULT_PYTHON_VERSION
assertNotCaptured "security update"
assertCapturedSuccess assertCapturedSuccess
} }
testPython2() { testPython2() {
updateVersion "python2" $LATEST_27
echo $LATEST_27 > "runtime.txt"
compile "python2" compile "python2"
assertCaptured $LATEST_27 assertCaptured $LATEST_27
assertNotCaptured "security update"
assertCapturedSuccess assertCapturedSuccess
} }
...@@ -123,9 +128,13 @@ testPython2_fail() { ...@@ -123,9 +128,13 @@ testPython2_fail() {
} }
testPython3_4() { testPython3_4() {
compile "python3_4" if [[ $STACK != "cedar-14" ]]; then
assertCaptured $LATEST_34 updateVersion "python3_4" $LATEST_34
assertCapturedSuccess compile "python3_4"
assertCaptured $LATEST_34
assertNotCaptured "security update"
assertCapturedSuccess
fi
} }
testPython3_4_warn() { testPython3_4_warn() {
...@@ -146,9 +155,13 @@ testPython3_4_fail() { ...@@ -146,9 +155,13 @@ testPython3_4_fail() {
} }
testPython3_5() { testPython3_5() {
compile "python3_5" if [[ $STACK != "cedar-14" ]]; then
assertCaptured $LATEST_35 updateVersion "python3_5" $LATEST_35
assertCapturedSuccess compile "python3_5"
assertCaptured $LATEST_35
assertNotCaptured "security update"
assertCapturedSuccess
fi
} }
testPython3_5_warn() { testPython3_5_warn() {
...@@ -169,8 +182,10 @@ testPython3_5_fail() { ...@@ -169,8 +182,10 @@ testPython3_5_fail() {
} }
testPython3_6() { testPython3_6() {
updateVersion "python3_6" $LATEST_36
compile "python3_6" compile "python3_6"
assertCaptured $LATEST_36 assertCaptured $LATEST_36
assertNotCaptured "security update"
assertCapturedSuccess assertCapturedSuccess
} }
...@@ -188,10 +203,12 @@ testPython3_6_fail() { ...@@ -188,10 +203,12 @@ testPython3_6_fail() {
} }
testPython3_7() { testPython3_7() {
updateVersion "python3_7" $LATEST_37
compile "python3_7" compile "python3_7"
if [[ $STACK = "cedar-14" ]]; then if [[ $STACK = "cedar-14" ]]; then
assertCapturedError assertCapturedError
else else
assertNotCaptured "security update"
assertCaptured $LATEST_37 assertCaptured $LATEST_37
assertCapturedSuccess assertCapturedSuccess
fi fi
......
...@@ -71,6 +71,11 @@ release() ...@@ -71,6 +71,11 @@ release()
capture ${BUILDPACK_HOME}/bin/release ${BUILD_DIR} capture ${BUILDPACK_HOME}/bin/release ${BUILD_DIR}
} }
updateVersion()
{
echo "$2" > "test/fixtures/${1}/runtime.txt"
}
assertCapturedEquals() assertCapturedEquals()
{ {
assertEquals "$@" "$(cat ${STD_OUT})" assertEquals "$@" "$(cat ${STD_OUT})"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment