Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
H
heroku-buildpack-python
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
heroku-buildpack-python
Commits
3c0146c0
Unverified
Commit
3c0146c0
authored
Feb 12, 2019
by
Casey
Committed by
GitHub
Feb 12, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #797 from heroku/v-147
V 147
parents
fe029af6
53c7d612
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
96 additions
and
28 deletions
+96
-28
.travis.yml
.travis.yml
+0
-3
CHANGELOG.md
CHANGELOG.md
+5
-1
compile
bin/compile
+3
-3
pip-install
bin/steps/pip-install
+3
-1
python
bin/steps/python
+0
-1
python-3.6.8
builds/runtimes/python-3.6.8
+32
-0
python-3.7.2
builds/runtimes/python-3.7.2
+32
-0
python_spec.rb
spec/hatchet/python_spec.rb
+1
-1
requirements.txt
test/fixtures/airflow/requirements.txt
+1
-1
runtime.txt
test/fixtures/python3_6/runtime.txt
+1
-1
runtime.txt
test/fixtures/python3_6_fail/runtime.txt
+1
-1
runtime.txt
test/fixtures/python3_6_warn/runtime.txt
+1
-1
runtime.txt
test/fixtures/python3_7/runtime.txt
+1
-1
runtime.txt
test/fixtures/python3_7_fail/runtime.txt
+1
-1
runtime.txt
test/fixtures/python3_7_warn/runtime.txt
+1
-1
run
test/run
+10
-9
utils
test/utils
+3
-2
No files found.
.travis.yml
View file @
3c0146c0
...
...
@@ -10,9 +10,6 @@ jobs:
include
:
-
stage
:
Bash linting (shellcheck)
sudo
:
false
before_install
:
-
wget -c https://goo.gl/ZzKHFv -O - | tar -xvJ -C /tmp/
-
PATH="/tmp/shellcheck-latest:$PATH"
script
:
make check
-
stage
:
Stack Unit Tests
services
:
docker
...
...
CHANGELOG.md
View file @
3c0146c0
# Python Buildpack Changelog
# 146 (2018-15-08)
# 147 (2019-02-07)
Python 3.7.2 and 3.6.8 now available on all Heroku stacks.
# 146 (2018-11-11)
Python 3.7.1, 3.6.7, 3.5.6 and 3.4.9 now available on all Heroku stacks.
...
...
bin/compile
View file @
3c0146c0
...
...
@@ -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.
7
"
LATEST_36
=
"python-3.6.
7
"
LATEST_37
=
"python-3.7.
1
"
DEFAULT_PYTHON_VERSION
=
"python-3.6.
8
"
LATEST_36
=
"python-3.6.
8
"
LATEST_37
=
"python-3.7.
2
"
LATEST_35
=
"python-3.5.6"
LATEST_34
=
"python-3.4.9"
LATEST_27
=
"python-2.7.15"
...
...
bin/steps/pip-install
View file @
3c0146c0
...
...
@@ -38,7 +38,9 @@ if [ ! "$SKIP_PIP_INSTALL" ]; then
mcount
"failure.none-version"
fi
if
[
!
-f
"
$BUILD_DIR
/.heroku/python/bin/pip"
]
;
then
exit
1
fi
/app/.heroku/python/bin/pip
install
-r
"
$BUILD_DIR
/requirements.txt"
--exists-action
=
w
--src
=
/app/.heroku/src
--disable-pip-version-check
--no-cache-dir
2>&1 |
tee
"
$WARNINGS_LOG
"
| cleanup | indent
PIP_STATUS
=
"
${
PIPESTATUS
[0]
}
"
set
-e
...
...
bin/steps/python
View file @
3c0146c0
...
...
@@ -109,7 +109,6 @@ if [ "$FRESH_PYTHON" ] || [[ ! $(pip --version) == *$PIP_UPDATE* ]]; then
/app/.heroku/python/bin/python
"
$ROOT_DIR
/vendor/get-pip.py"
pip
==
"
$PIP_UPDATE
"
&> /dev/null
/app/.heroku/python/bin/pip
install
"
$ROOT_DIR
/vendor/setuptools-39.0.1-py2.py3-none-any.whl"
&> /dev/null
fi
set
-e
...
...
builds/runtimes/python-3.6.8
0 → 100755
View file @
3c0146c0
#!/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.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
builds/runtimes/python-3.7.2
0 → 100755
View file @
3c0146c0
#!/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.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
spec/hatchet/python_spec.rb
View file @
3c0146c0
...
...
@@ -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.
7
/
)
expect
(
app
.
run
(
'python -V'
)).
to
match
(
/3.6.
8
/
)
end
end
end
test/fixtures/airflow/requirements.txt
View file @
3c0146c0
apache-airflow==1.10
apache-airflow==1.10
.2
test/fixtures/python3_6/runtime.txt
View file @
3c0146c0
python-3.6.
7
python-3.6.
8
test/fixtures/python3_6_fail/runtime.txt
View file @
3c0146c0
python-3.6.
8
python-3.6.
9
test/fixtures/python3_6_warn/runtime.txt
View file @
3c0146c0
python-3.6.
5
python-3.6.
7
test/fixtures/python3_7/runtime.txt
View file @
3c0146c0
python-3.7.
1
python-3.7.
2
test/fixtures/python3_7_fail/runtime.txt
View file @
3c0146c0
python-3.7.
2
python-3.7.
3
test/fixtures/python3_7_warn/runtime.txt
View file @
3c0146c0
python-3.7.
0
python-3.7.
1
test/run
View file @
3c0146c0
...
...
@@ -3,7 +3,7 @@
testAirflow
()
{
export
SLUGIFY_USES_TEXT_UNIDECODE
=
"yes"
compile
"airflow"
assertCaptured
"apache-airflow==1.10"
assertCaptured
"apache-airflow==1.10
.2
"
assertCapturedSuccess
}
...
...
@@ -19,7 +19,7 @@ testPipenvLock() {
testPipenvVersion
()
{
compile
"pipenv-version"
assertCaptured
"3.6.
7
"
assertCaptured
"3.6.
8
"
assertCapturedSuccess
}
...
...
@@ -45,7 +45,8 @@ testCollectstatic() {
}
testGEOS
()
{
BUILD_WITH_GEO_LIBRARIES
=
1 compile
"geos"
export
BUILD_WITH_GEO_LIBRARIES
=
1
compile
"geos"
assertCaptured
"geos"
assertCapturedSuccess
}
...
...
@@ -57,7 +58,7 @@ testNLTK() {
# be bad to silence in Production.
export
PYTHONWARNINGS
=
"ignore::RuntimeWarning"
compile
"nltk"
assertCaptured
"
Downloading NLTK packages: city_database stopwords
"
assertCaptured
"
[nltk_data] Downloading package city_database"
"STD_ERR
"
assertCapturedSuccess
}
...
...
@@ -94,7 +95,7 @@ testPylibmc() {
testPythonDefault
()
{
compile
"pythonDefault"
assertCaptured
"python-3.6.
7
"
assertCaptured
"python-3.6.
8
"
assertCapturedSuccess
}
...
...
@@ -169,13 +170,13 @@ testPython3_5_fail() {
testPython3_6
()
{
compile
"python3_6"
assertCaptured
"python-3.6.
7
"
assertCaptured
"python-3.6.
8
"
assertCapturedSuccess
}
testPython3_6_warn
()
{
compile
"python3_6_warn"
assertCaptured
"python-3.6.
5
"
assertCaptured
"python-3.6.
7
"
assertCaptured
"security update!"
assertCapturedSuccess
}
...
...
@@ -191,7 +192,7 @@ testPython3_7() {
if
[[
$STACK
=
"cedar-14"
]]
;
then
assertCapturedError
else
assertCaptured
"python-3.7.
1
"
assertCaptured
"python-3.7.
2
"
assertCapturedSuccess
fi
}
...
...
@@ -201,7 +202,7 @@ testPython3_7_warn() {
if
[[
$STACK
=
"cedar-14"
]]
;
then
assertCapturedError
else
assertCaptured
"python-3.7.
0
"
assertCaptured
"python-3.7.
1
"
assertCaptured
"security update!"
assertCapturedSuccess
fi
...
...
test/utils
View file @
3c0146c0
...
...
@@ -83,7 +83,8 @@ assertCapturedNotEquals()
assertCaptured
()
{
assertFileContains
"
$@
"
"
${
STD_OUT
}
"
stdroute
=
${
2
:-
STD_OUT
}
assertFileContains
"
$1
"
"
${
!stdroute
}
"
}
assertNotCaptured
()
...
...
@@ -94,7 +95,7 @@ assertNotCaptured()
assertCapturedSuccess
()
{
assertEquals
"Captured exit code -"
"0"
"
${
RETURN
}
"
assertEquals
"STD_ERR -"
""
"
$(
cat
${
STD_ERR
})
"
#
assertEquals "STD_ERR -" "" "$(cat ${STD_ERR})"
if
[
$RETURN
-ne
0
-a
-z
"
$(
cat
${
STD_ERR
})
"
]
;
then
# Failing exit code but stderr was empty. Display stdout to help debugging.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment