Compare commits

...

37 Commits

Author SHA1 Message Date
Casey 41e0f64252 Merge pull request #782 from heroku/next-release
Test updates
2018-11-15 11:06:27 -06:00
Casey Faist b3988a565a remove template runtimes to cut down on scope creep 2018-11-15 10:39:19 -06:00
Casey Faist 0437a6e84f update latest python 2 in pipenv-version step 2018-11-15 09:37:43 -06:00
Casey Faist 88a5ba5d39 add test for 2.7 pipenv install 2018-11-15 09:09:51 -06:00
Casey Faist 3434972e32 update hatchet expected version 2018-11-15 08:57:57 -06:00
Casey Faist 1dfef44085 update default in pipenv test 2018-11-14 17:36:59 -06:00
Casey Faist 2ffb10da34 update latest vars in compile 2018-11-14 16:57:02 -06:00
Casey Faist 23999846ad update 3.7 tests typo 2018-11-14 16:41:38 -06:00
Casey Faist 8d1ebf7288 bump default 3.6 version 2018-11-14 16:24:46 -06:00
Casey Faist f2165aaac6 update test fixtures for new python runtimes 2018-11-13 16:11:14 -06:00
Casey Faist 05492e132a add next runtimes 2018-11-13 15:34:07 -06:00
Casey 62eaae35a4 Merge pull request #781 from heroku/update-hatchet-setup
Update to reflect Hatchet updates
2018-11-13 14:36:24 -06:00
Duane Hutchins 2f32c5418d Updated HATCHET_BUILDPACK_BASE to use TRAVIS_REPO_SLUG 2018-11-13 13:58:23 -06:00
Casey Faist 12e3a7f3e7 add HATCHET_DEPLOY_STRATEGY env var 2018-11-13 13:48:38 -06:00
Casey Faist e7da63f722 update to newer hatchet integration 2018-11-13 13:05:31 -06:00
Casey a6452a1ce4 Merge pull request #772 from heroku/v-145
V 145
2018-11-12 18:49:06 -06:00
Casey Faist 0b554f660f update tests for missed stack issues 2018-11-12 17:27:07 -06:00
Casey Faist 7b9e82175e add warning detection and per-stack checks 2018-11-12 17:10:30 -06:00
Casey Faist 73d37cbac6 update changelog 2018-11-11 17:52:16 -06:00
Casey Faist 9e1df4bbb5 specify python 2.7 2018-11-11 17:24:42 -06:00
Casey Faist 0be9d48013 add missing vars for python step 2018-11-11 16:51:29 -06:00
Casey Faist 4750639a0d add python 3.4 detection 2018-11-11 16:38:12 -06:00
Casey Faist 3de5b43447 add bash pre-commit hook and correct shellcheck warnings 2018-11-11 16:36:16 -06:00
Casey Faist c3845fff9a use text variable as variable in puts-warn 2018-11-11 15:43:21 -06:00
Casey Faist f3ef152624 update tests to pass, add 3.4 2018-11-11 15:34:49 -06:00
Jose Diaz-Gonzalez ef1f7f6924 fix: drop broken version check
Due to how the version checks work - via sorting, not actual comparison - this previously resulted in _always_ installing sqlite3, even though it was already bundled for lower versions of python. The second version check also encompasses 3.7.0+, so there is no need to respecify the check.
2018-11-08 16:14:05 -06:00
Casey Faist 25818765ee update changelog 2018-11-08 15:54:45 -06:00
Casey Faist 0a169e76a4 fix extra slash in python install location 2018-11-08 13:54:44 -06:00
Casey Faist 2f430abf07 adjust sqlcheck 2018-11-08 13:54:44 -06:00
Casey Faist 07241cd751 add tests for new runtimes 2018-11-08 13:54:44 -06:00
Casey Faist ae4713efd8 add new runtimes and test repos 2018-11-08 13:54:44 -06:00
Casey 402cd8253e Merge pull request #777 from heroku/use-heroku-bob
update bob dependency to point to internal bob-builder fork
2018-11-08 13:54:03 -06:00
Casey aa593f127b delete tester runtime.txt
Added this for local testing because bob requires 2.7, should not be merged to master
2018-11-08 10:23:23 -06:00
Casey Faist 67badb1829 use released bob package 2018-11-08 09:23:05 -06:00
Casey Faist defa85c355 delete me later 2018-11-07 11:18:26 -06:00
Casey Faist ec364be161 remove comment 2018-11-06 17:47:38 -06:00
Casey Faist 7b4d6b5587 update bob dependency to point to internal bob-builder fork 2018-11-06 17:41:10 -06:00
48 changed files with 395 additions and 65 deletions
+5
View File
@@ -0,0 +1,5 @@
repos:
- repo: git://github.com/detailyang/pre-commit-shell
rev: 1.0.4
hooks:
- id: shell-lint
+2 -3
View File
@@ -5,9 +5,7 @@ rvm:
- 2.4.4 - 2.4.4
before_script: before_script:
- gem install bundler -v 1.16.2 - gem install bundler -v 1.16.2
- bundle exec rake hatchet:setup_travis - bundle exec hatchet ci:setup
before_install:
- sudo bash etc/ci-setup.sh
jobs: jobs:
include: include:
- stage: Bash linting (shellcheck) - stage: Bash linting (shellcheck)
@@ -35,5 +33,6 @@ env:
- HATCHET_RETRIES=3 - HATCHET_RETRIES=3
- IS_RUNNING_ON_CI=true - IS_RUNNING_ON_CI=true
- HATCHET_APP_LIMIT=5 - HATCHET_APP_LIMIT=5
- HATCHET_DEPLOY_STRATEGY=git
- secure: yjtlPE5FbVxTKnjUy/tZUBgSEf4qADD3QOxtgziuid73S0U/1IEXlMGFULsQzIjtlHKmHeywZqpVVEpthIH4RuT7uoX1Pb7SSM/g0T8fT3VoEFbFK1uYl0oZQbUS4Klxv9tPiumj8if3m6ULEGIz1X0wZcMOC0tMLwVCnwmap0E= - secure: yjtlPE5FbVxTKnjUy/tZUBgSEf4qADD3QOxtgziuid73S0U/1IEXlMGFULsQzIjtlHKmHeywZqpVVEpthIH4RuT7uoX1Pb7SSM/g0T8fT3VoEFbFK1uYl0oZQbUS4Klxv9tPiumj8if3m6ULEGIz1X0wZcMOC0tMLwVCnwmap0E=
- secure: ZeFTHWwnpIKE9nAqs88ocmiQh7bKce84lilGm5J23nf3N6V4wNyLwqlkvsM008WGBCaOg9AUx7ZunasT0ANsR5gLP3eV2UUg7ILdRgV2Gy13eNRFheC4PHdN92RqQ3aKoqlIv2K999xlhVjod0NzhkQQXB6PddfQINbuU7ks6As= - secure: ZeFTHWwnpIKE9nAqs88ocmiQh7bKce84lilGm5J23nf3N6V4wNyLwqlkvsM008WGBCaOg9AUx7ZunasT0ANsR5gLP3eV2UUg7ILdRgV2Gy13eNRFheC4PHdN92RqQ3aKoqlIv2K999xlhVjod0NzhkQQXB6PddfQINbuU7ks6As=
+11 -3
View File
@@ -1,19 +1,27 @@
# Python Buildpack Changelog # Python Buildpack Changelog
# 141 (2018-10-10) # 145 (2018-11-08)
Python 3.7.1, 3.6.7, 3.5.6 and 3.4.9 now available on all Heroku stacks.
# 144 (2018-10-10)
Switch to cautious upgrade for Pipenv install to ensure the pinned pip version Switch to cautious upgrade for Pipenv install to ensure the pinned pip version
is used with Pipenv is used with Pipenv
# 140 (2018-10-09) # 143 (2018-10-09)
Add support for detecting SLUGIFY_USES_TEXT_UNIDECODE, which is required to Add support for detecting SLUGIFY_USES_TEXT_UNIDECODE, which is required to
install Apache Airflow version 1.10 or higher. install Apache Airflow version 1.10 or higher.
# 139 (2018-10-08) # 142 (2018-10-08)
Improvements to Python install messaging Improvements to Python install messaging
# 139, 140, 141
No user-facing changes, documenting for version clarity
# 138 (2018-08-01) # 138 (2018-08-01)
Use stack image SQLite3 instead of vendoring Use stack image SQLite3 instead of vendoring
+9 -9
View File
@@ -6,16 +6,16 @@ GEM
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
tzinfo (~> 1.1) tzinfo (~> 1.1)
concurrent-ruby (1.0.5) concurrent-ruby (1.1.3)
diff-lcs (1.3) diff-lcs (1.3)
erubis (2.7.0) erubis (2.7.0)
excon (0.62.0) excon (0.62.0)
heroics (0.0.24) heroics (0.0.25)
erubis (~> 2.0) erubis (~> 2.0)
excon excon
moneta moneta
multi_json (>= 1.9.2) multi_json (>= 1.9.2)
heroku_hatchet (4.0.2) heroku_hatchet (4.0.6)
excon (~> 0) excon (~> 0)
minitest-retry (~> 0.1.9) minitest-retry (~> 0.1.9)
platform-api (~> 2) platform-api (~> 2)
@@ -23,16 +23,16 @@ GEM
rrrretry (~> 1) rrrretry (~> 1)
thor (~> 0) thor (~> 0)
threaded (~> 0) threaded (~> 0)
i18n (1.1.0) i18n (1.1.1)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
minitest (5.11.3) minitest (5.11.3)
minitest-retry (0.1.9) minitest-retry (0.1.9)
minitest (>= 5.0) minitest (>= 5.0)
moneta (0.8.1) moneta (1.0.0)
multi_json (1.13.1) multi_json (1.13.1)
platform-api (2.1.0) platform-api (2.2.0)
heroics (~> 0.0.23) heroics (~> 0.0.25)
moneta (~> 0.8.1) moneta (~> 1.0.0)
rake (12.3.1) rake (12.3.1)
repl_runner (0.0.3) repl_runner (0.0.3)
activesupport activesupport
@@ -52,7 +52,7 @@ GEM
rspec-retry (0.6.1) rspec-retry (0.6.1)
rspec-core (> 3.3) rspec-core (> 3.3)
rspec-support (3.8.0) rspec-support (3.8.0)
thor (0.20.0) thor (0.20.3)
thread_safe (0.3.6) thread_safe (0.3.6)
threaded (0.0.4) threaded (0.0.4)
tzinfo (1.2.5) tzinfo (1.2.5)
+16 -5
View File
@@ -49,17 +49,28 @@ export VENDOR_URL
# These variables are used to specify which versions of Python to install by default, # 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 unsupported version. # as well as prompt the user to upgrade if they are using an unsupported version.
# Note: When 3.7 lands, I recommend switching to LATEST_36 and LATEST_37. # 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_36="python-3.6.7"
LATEST_37="python-3.7.0" LATEST_37="python-3.7.1"
LATEST_2="python-2.7.15" LATEST_35="python-3.5.6"
LATEST_34="python-3.4.9"
LATEST_27="python-2.7.15"
# Supported Python Branches
PY37="python-3.7"
PY36="python-3.6"
PY35="python-3.5"
PY34="python-3.4"
PY27="python-2.7"
# Which stack is used (for binary downloading), if none is provided (e.g. outside of Heroku)? # Which stack is used (for binary downloading), if none is provided (e.g. outside of Heroku)?
DEFAULT_PYTHON_STACK="cedar-14" DEFAULT_PYTHON_STACK="cedar-14"
# If pip doesn't match this version (the version we install), run the installer. # If pip doesn't match this version (the version we install), run the installer.
PIP_UPDATE="9.0.2" PIP_UPDATE="9.0.2"
export DEFAULT_PYTHON_VERSION DEFAULT_PYTHON_STACK PIP_UPDATE LATEST_2 LATEST_36 LATEST_37 export DEFAULT_PYTHON_VERSION DEFAULT_PYTHON_STACK PIP_UPDATE
export LATEST_27 LATEST_36 LATEST_37 LATEST_35 LATEST_34
export PY37 PY36 PY35 PY27 PY34
# Common Problem Warnings: # Common Problem Warnings:
# This section creates a temporary file in which to stick the output of `pip install`. # This section creates a temporary file in which to stick the output of `pip install`.
+1 -2
View File
@@ -19,7 +19,7 @@ if [[ -f $BUILD_DIR/Pipfile ]]; then
if [[ "$PYTHON" == "null" ]]; then if [[ "$PYTHON" == "null" ]]; then
PYTHON=$(jq -r '._meta.requires.python_version' "$BUILD_DIR/Pipfile.lock") PYTHON=$(jq -r '._meta.requires.python_version' "$BUILD_DIR/Pipfile.lock")
if [ "$PYTHON" = 2.7 ]; then if [ "$PYTHON" = 2.7 ]; then
echo "$LATEST_2" > "$BUILD_DIR/runtime.txt" echo "$LATEST_27" > "$BUILD_DIR/runtime.txt"
fi fi
if [ "$PYTHON" = 3.6 ]; then if [ "$PYTHON" = 3.6 ]; then
echo "$LATEST_36" > "$BUILD_DIR/runtime.txt" echo "$LATEST_36" > "$BUILD_DIR/runtime.txt"
@@ -33,4 +33,3 @@ if [[ -f $BUILD_DIR/Pipfile ]]; then
fi fi
fi fi
fi fi
+40 -32
View File
@@ -7,41 +7,49 @@ PYTHON_VERSION=$(cat runtime.txt)
# The location of the pre-compiled python binary. # The location of the pre-compiled python binary.
VENDORED_PYTHON="${VENDOR_URL}/runtimes/$PYTHON_VERSION.tar.gz" VENDORED_PYTHON="${VENDOR_URL}/runtimes/$PYTHON_VERSION.tar.gz"
if [[ $PYTHON_VERSION =~ ^python-2 ]]; then SECURITY_UPDATE="Python has released a security update! Please consider upgrading to"
if [[ "$PYTHON_VERSION" != "$LATEST_2" ]]; then
puts-warn "The latest version of Python 2 is $LATEST_2 (you are using $PYTHON_VERSION, which is unsupported)." # check if runtime exists
puts-warn "We recommend upgrading by specifying the latest version ($LATEST_2)." if curl --output /dev/null --silent --head --fail "$VENDORED_PYTHON"; then
echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes" if [[ "$PYTHON_VERSION" == $PY37* ]]; then
else # do things to alert the user of security release available
echo " Using supported version of Python 2 ($PYTHON_VERSION)" if [ "$PYTHON_VERSION" != "$LATEST_37" ]; then
fi puts-warn "$SECURITY_UPDATE" "$LATEST_37"
else
if [[ $PYTHON_VERSION =~ ^python-3 ]]; then
if [[ $PYTHON_VERSION =~ ^python-3.7 ]]; then
if [[ "$PYTHON_VERSION" != "$LATEST_37" ]]; then
puts-warn "The latest version of Python 3.7 is $LATEST_37 (you are using $PYTHON_VERSION, which is unsupported)."
puts-warn "We recommend upgrading by specifying the latest version ($LATEST_37)."
echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes" echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes"
else
echo " Using supported version of Python 3.7 ($PYTHON_VERSION)"
fi
else
if [[ $PYTHON_VERSION =~ ^python-3.6 ]]; then
if [[ "$PYTHON_VERSION" != "$LATEST_36" ]]; then
puts-warn "The latest version of Python 3.6 is $LATEST_36 (you are using $PYTHON_VERSION, which is unsupported)."
puts-warn "We recommend upgrading by specifying the latest version ($LATEST_36)."
echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes"
else
echo " Using supported version of Python 3.6 ($PYTHON_VERSION)"
fi
else
puts-warn "Heroku supports runtime versions $LATEST_37, $LATEST_36 and $LATEST_2."
puts-warn "You are using $PYTHON_VERSION, which is unsupported."
puts-warn "We recommend upgrading by specifying the default supported version ($LATEST_36)."
echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes"
fi
fi fi
fi fi
if [[ "$PYTHON_VERSION" == $PY36* ]]; then
# security update note
if [ "$PYTHON_VERSION" != "$LATEST_36" ]; then
puts-warn "$SECURITY_UPDATE" "$LATEST_36"
echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes"
fi
fi
if [[ "$PYTHON_VERSION" == $PY35* ]]; then
# security update note
if [ "$PYTHON_VERSION" != "$LATEST_35" ]; then
puts-warn "$SECURITY_UPDATE" "$LATEST_35"
echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes"
fi
fi
if [[ "$PYTHON_VERSION" == $PY34* ]]; then
# security update note
if [ "$PYTHON_VERSION" != "$LATEST_34" ]; then
puts-warn "$SECURITY_UPDATE" "$LATEST_34"
echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes"
fi
fi
if [[ "$PYTHON_VERSION" == $PY27* ]]; then
# security update note
if [ "$PYTHON_VERSION" != "$LATEST_27" ]; then
puts-warn "$SECURITY_UPDATE" "$LATEST_27"
echo " Learn More: https://devcenter.heroku.com/articles/python-runtimes"
fi
fi
else
puts-warn "Requested runtime ($PYTHON_VERSION) is not available for this stack ($STACK)."
puts-warn "Aborting. More info: https://devcenter.heroku.com/articles/python-support"
exit 1
fi fi
if [[ "$STACK" != "$CACHED_PYTHON_STACK" ]]; then if [[ "$STACK" != "$CACHED_PYTHON_STACK" ]]; then
+2 -3
View File
@@ -89,10 +89,9 @@ python3_check() {
# Check if Python version needs to install SQLite3 # Check if Python version needs to install SQLite3
python_sqlite3_check() { python_sqlite3_check() {
VERSION="$1" VERSION="$1"
MIN_PYTHON_3="python-3.6.6" MIN_PYTHON_3="python-3.5.6"
MIN_PYTHON_2="python-2.7.15" MIN_PYTHON_2="python-2.7.15"
( python2_check "$VERSION" && version_gte "$VERSION" "$MIN_PYTHON_2" ) \ ( python2_check "$VERSION" && version_gte "$VERSION" "$MIN_PYTHON_2" ) \
|| ( python3_check "$VERSION" && version_gte "$VERSION" "$MIN_PYTHON_3" ) \ || ( python3_check "$VERSION" && version_gte "$VERSION" "$MIN_PYTHON_3" )
|| ( version_gte "$VERSION" "3.7.0" )
} }
+32
View File
@@ -0,0 +1,32 @@
#!/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.4.9/Python-3.4.9.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
+32
View File
@@ -0,0 +1,32 @@
#!/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.5.6/Python-3.5.6.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.5.6 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
+32
View File
@@ -0,0 +1,32 @@
#!/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.6.7/Python-3.6.7.tgz'
curl -L $SOURCE_TARBALL | tar xz
mv Python-3.6.7 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
+32
View File
@@ -0,0 +1,32 @@
#!/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.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
+1 -1
View File
@@ -1,3 +1,3 @@
docopt==0.6.2 docopt==0.6.2
bob-builder==0.0.13 bob-builder
boto==2.48.0 boto==2.48.0
+1 -1
View File
@@ -4,7 +4,7 @@ describe "Python!!!!!!!!!!!" do
it "🐍" do it "🐍" do
Hatchet::Runner.new('python-getting-started', stack: DEFAULT_STACK).deploy do |app| Hatchet::Runner.new('python-getting-started', stack: DEFAULT_STACK).deploy do |app|
expect(app.output).to match(/Installing pip/) 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 end
end end
+1 -1
View File
@@ -1,4 +1,4 @@
ENV['HATCHET_BUILDPACK_BASE'] = 'https://github.com/heroku/heroku-buildpack-python.git' ENV['HATCHET_BUILDPACK_BASE'] = 'https://github.com/' + ENV['TRAVIS_REPO_SLUG'] + '.git'
require 'rspec/core' require 'rspec/core'
require 'rspec/retry' require 'rspec/retry'
+1 -1
View File
@@ -6,4 +6,4 @@ verify_ssl = true
requests = "*" requests = "*"
[requires] [requires]
python_version = "3.6" python_version = "3.6"
+11
View File
@@ -0,0 +1,11 @@
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
[dev-packages]
[requires]
python_version = "2.7"
+20
View File
@@ -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": {}
}
+1
View File
@@ -0,0 +1 @@
python-2.7.16
+1
View File
@@ -0,0 +1 @@
requests
+1
View File
@@ -0,0 +1 @@
python-2.7.14
+1
View File
@@ -0,0 +1 @@
flask
+1
View File
@@ -0,0 +1 @@
python-3.4.9
+1
View File
@@ -0,0 +1 @@
flask
+1
View File
@@ -0,0 +1 @@
python-3.4.10
+1
View File
@@ -0,0 +1 @@
flask
+1
View File
@@ -0,0 +1 @@
python-3.4.0
+1
View File
@@ -0,0 +1 @@
requests
+1
View File
@@ -0,0 +1 @@
python-3.5.6
+1
View File
@@ -0,0 +1 @@
flask
+1
View File
@@ -0,0 +1 @@
python-3.5.7
+1
View File
@@ -0,0 +1 @@
flask
+1
View File
@@ -0,0 +1 @@
python-3.5.3
+1
View File
@@ -0,0 +1 @@
requests
+1
View File
@@ -0,0 +1 @@
python-3.6.7
+1
View File
@@ -0,0 +1 @@
flask
+1
View File
@@ -0,0 +1 @@
python-3.6.8
+1
View File
@@ -0,0 +1 @@
requests
+1
View File
@@ -0,0 +1 @@
python-3.6.5
+1
View File
@@ -0,0 +1 @@
requests
+1
View File
@@ -0,0 +1 @@
python-3.7.1
+1
View File
@@ -0,0 +1 @@
flask
+1
View File
@@ -0,0 +1 @@
python-3.7.2
+1
View File
@@ -0,0 +1 @@
requests
+1
View File
@@ -0,0 +1 @@
python-3.7.0
+1
View File
@@ -0,0 +1 @@
flask
+118 -4
View File
@@ -19,10 +19,15 @@ testPipenvLock() {
testPipenvVersion() { testPipenvVersion() {
compile "pipenv-version" compile "pipenv-version"
assertCaptured "3.6.6" assertCaptured "3.6.7"
assertCapturedSuccess assertCapturedSuccess
} }
testPipenvVersion2() {
compile "pipenv-version2"
assertCaptured "2.7.15"
assertCapturedSuccess
}
testPipenvFullVersion() { testPipenvFullVersion() {
compile "pipenv-full-version" compile "pipenv-full-version"
assertCaptured "3.6.3" assertCaptured "3.6.3"
@@ -87,18 +92,127 @@ testPylibmc() {
assertCapturedSuccess assertCapturedSuccess
} }
testPythonDefault() {
compile "pythonDefault"
assertCaptured "python-3.6.7"
assertCapturedSuccess
}
testPython2() { testPython2() {
compile "python2" compile "python2"
assertCaptured "python-2.7.15" assertCaptured "python-2.7.15"
assertCapturedSuccess assertCapturedSuccess
} }
testPython3() { testPython2_warn() {
compile "python3" compile "python2_warn"
assertCaptured "python-3.6.6" if [[ $STACK = "heroku-18" ]]; then
assertCapturedError
else
assertCaptured "python-2.7.14"
assertCaptured "security update!"
assertCapturedSuccess
fi
}
testPython2_fail() {
compile "python2_fail"
assertCaptured "Aborting"
assertCapturedError
}
testPython3_4() {
compile "python3_4"
assertCaptured "python-3.4.9"
assertCapturedSuccess assertCapturedSuccess
} }
testPython3_4_warn() {
compile "python3_4_warn"
if [[ $STACK = "cedar-14" ]]; then
assertCaptured "python-3.4.0"
assertCaptured "security update!"
assertCapturedSuccess
else
assertCapturedError
fi
}
testPython3_4_fail() {
compile "python3_4_fail"
assertCaptured "Aborting"
assertCapturedError
}
testPython3_5() {
compile "python3_5"
assertCaptured "python-3.5.6"
assertCapturedSuccess
}
testPython3_5_warn() {
compile "python3_5_warn"
if [[ $STACK = "cedar-14" ]]; then
assertCaptured "python-3.5.3"
assertCaptured "security update!"
assertCapturedError
else
assertCapturedError
fi
}
testPython3_5_fail() {
compile "python3_5_fail"
assertCaptured "Aborting"
assertCapturedError
}
testPython3_6() {
compile "python3_6"
assertCaptured "python-3.6.7"
assertCapturedSuccess
}
testPython3_6_warn() {
compile "python3_6_warn"
assertCaptured "python-3.6.5"
assertCaptured "security update!"
assertCapturedSuccess
}
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
}
testPython3_7_fail() {
compile "python3_7_fail"
assertCaptured "Aborting"
assertCapturedError
}
testGitEgg() { testGitEgg() {
compile "git-egg" compile "git-egg"
assertCaptured "requests" assertCaptured "requests"