Ed Morley
63651e042f
Add support for PyPy 2.7 and 3.6 version 7.3.2 ( #1081 )
...
Since they were released yesterday:
https://morepypy.blogspot.com/2020/09/pypy-732-triple-release-python-27-36.html
The archive URL had to be updated now that PyPy has migrated from BitBucket.
The new URLs are from:
https://www.pypy.org/download.html
Skipping PyPy 3.7 for now, since it's in alpha.
Closes @W-8128094@.
2020-09-29 09:30:51 +01:00
Ed Morley
4505968fcb
Tests: Remove redundant Python version tests ( #1075 )
...
There were previously 6 virtually identical tests checking the handling of
a non-existent Python version being specified in `runtime.txt`.
Only one is necessary - removing the rest will improve CI run time.
Closes @W-8110383@.
[skip changelog]
2020-09-22 18:48:31 +01:00
Ed Morley
eb6ee49dfe
Emit metrics for how the Python version was chosen ( #1069 )
...
Currently an app's Python version can be set via a few different means:
- explicitly by the user (via `runtime.txt` or `Pipfile.lock`)
- implicitly via the sticky versions feature (for existing apps)
- implicitly via default version for new apps / those with empty cache
In order to determine the priority of features like automatic Python
patch version upgrades for sticky-versioned apps, it's useful to have
metrics for these.
There were previously no tests for either the sticky versions feature,
or changing the Python version by updating the `runtime.txt` file, so
I've added some now (given that I updated the conditional to add the
metrics, so useful to have coverage).
I've also removed the confusing overwrite of `DEFAULT_PYTHON_VERSION`
with the cached version, and kept them as two separate variables.
Closes @W-8099632@.
Closes @W-8099645@.
2020-09-18 18:48:57 +01:00
Ed Morley
3e49aeb940
Add support for Python 3.5.10 ( #1062 )
...
Since it was released over the weekend:
https://www.python.org/downloads/release/python-3510/
https://docs.python.org/3.5/whatsnew/changelog.html#python-3-5-10
Closes @W-7835961@.
2020-09-07 13:01:09 +01:00
Ed Morley
f508bd538d
Fix the security update version check message for PyPy ( #1040 )
...
Previously if an app was using an older version of PyPy, the buildpack
would show a confusing "Could not find that version" message (even
though the version was found), when it really meant to warn about there
being a newer release available.
It looks like the version check messages were perhaps copied and pasted
from something else, but the message wording not updated at the time.
I've also added tests since there were none for this feature.
Fixes #1004 .
Closes @W-7918745@.
2020-08-11 19:15:16 +01:00
Ed Morley
e7c7dfdb26
Reduce the number of env vars exposed to subprocess ( #1011 )
...
The following env vars are no longer exposed to subprocesses run by the
buildpack (such as the `bin/pre_compile` and `bin/post_compile` hooks):
* `BPLOG_PREFIX`
* `CACHED_PYTHON_STACK`
* `DEFAULT_PYTHON_STACK`
* `DEFAULT_PYTHON_VERSION`
* `LATEST_27`
* `LATEST_34`
* `LATEST_35`
* `LATEST_36`
* `LATEST_37`
* `LATEST_38`
* `PIP_UPDATE`
* `PY27`
* `PY34`
* `PY35`
* `PY36`
* `PY37`
* `PYPY_27`
* `PYPY_36`
* `RECOMMENDED_PYTHON_VERSION`
* `WARNINGS_LOG`
There were previously no tests at all for the pre/post-compile hooks,
so I've added some now.
Fixes #1010 .
2020-07-28 18:12:08 +01:00
Ed Morley
8cb379f83b
Add support for latest CPython and PyPy versions ( #977 )
...
Adds support for:
* CPython 2.7.18, 3.5.9, 3.7.7 and 3.8.3
* PyPy 2.7 and 3.6, version 7.3.1
The binaries will need generating and uploading before CI will pass.
Note: Whilst the build script for CPython 3.8.3 did already exist in the
repository, it appears to have been accidentally created in #920 , which
predated the existence of that version of Python - so the binaries do
not exist on S3.
The Heroku-18 Docker image tag has also been unpinned, since the new
libssl version is now available at runtime in all environments, so we
don't need to force building against the older version of the headers.
Fixes W-7582174.
2020-05-19 14:16:59 +01:00
Casey Faist
48a368ac71
Add test for expected behavior
2020-03-24 14:48:17 -04:00
Casey Faist
e68f556e63
Build and release Python 3.8.2
2020-02-27 15:26:33 -07:00
Casey Faist
848c846a3d
Add tests for beta Pypy support
2019-12-23 00:17:22 -05:00
Casey Faist
a7f62496b1
correct python35 tests
2019-10-28 15:16:14 -07:00
Casey Faist
f1b0f8c154
correct the pass/fail metric for python 34
2019-10-24 12:48:04 -07:00
Casey Faist
4328847f1e
update tests and default 2.7
2019-10-21 17:04:23 -07:00
Casey
22e6239222
Merge branch 'master' into deprecated-pythons-test
2019-10-21 10:56:23 -07:00
Casey Faist
0fc7b6c186
bump the warning version to an available version
2019-10-17 16:34:44 -07:00
Casey Faist
7ff7fa4462
add 3.8 tests
2019-10-17 15:01:32 -07:00
Casey Faist
4a4a6a1df0
add pysqlite test for python 2.7.16
2019-10-10 13:05:45 -07:00
Casey
76bb572a4d
Release prep 151 ( #813 )
...
* new runtimes
* update default latest
2019-03-21 10:54:12 -07:00
Casey
21430070ad
Python release prep ( #809 )
...
* new recipe for new runtime
* add new runtime formula
* add test updates for new runtime release
* wrangle tests into submission
* update tests to use default_pythons
* delete commented code
2019-03-13 12:25:03 -07:00
Casey
bebc0cf439
Python 2.7.16 ( #808 )
...
* new recipe for new runtime
* add new runtime formula
* wrangle tests into submission
2019-03-11 13:22:29 -04:00
Casey Faist
797652a75d
new runtimes and travis test updates
2019-01-31 14:46:42 -05:00
Casey Faist
d7351513c7
changelog and test update
2018-12-12 17:26:28 -05:00
Casey Faist
3434972e32
update hatchet expected version
2018-11-15 08:57:57 -06:00
Casey Faist
f2165aaac6
update test fixtures for new python runtimes
2018-11-13 16:11:14 -06:00
Casey Faist
7b9e82175e
add warning detection and per-stack checks
2018-11-12 17:10:30 -06:00
Casey Faist
f3ef152624
update tests to pass, add 3.4
2018-11-11 15:34:49 -06:00
Casey Faist
ae4713efd8
add new runtimes and test repos
2018-11-08 13:54:44 -06:00
Casey Faist
eee8dd9a9e
need to pass env var as export in test
2018-10-05 13:48:22 -05:00
Casey Faist
b56b063dd5
add SLUGIFY_USES_TEXT_UNIDECODE support
2018-10-05 11:49:01 -05:00
Ian Stapleton Cordasco
2d290e94e9
Add heroku-18 to our Travis CI config
...
- Add stage to Travis CI config and update tests.sh script to recognize
it
- Update tests to assert there is no Python 2 on Heroku-18
- Update nltk fixture to use Python 3.6 so we can test it on all stacks
Closes gh-730
2018-07-09 11:51:03 -05:00
Ally Weir
f1e1df2fa1
Bump pipenv version
2018-05-24 11:37:01 +01:00
Ian Stapleton Cordasco
3c64697472
Add Python 2.7.15 to the list of runtimes ( #692 )
...
* Add Python 2.7.15 to the list of runtimes
Closes #691
* Update the default Python 2 to 2.7.15 everywhere
2018-05-01 10:27:32 -04:00
kennethreitz
6bcbf19bb0
test git egg installation ( #666 )
...
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
2018-04-26 09:16:11 -04:00
kennethreitz
00947abe7a
collectstatic metrics ( #660 )
2018-03-14 13:06:56 -04:00
Josh Friend
17dd42113f
Update default python to 3.6.3 ( #480 )
2017-11-21 19:11:45 -05:00
kennethreitz
25c5762cb9
pipenv --deploy ( #476 )
...
* fixed the bug for pypy-5.8.0
* changelog
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* python 2.7.14
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* pipfile > requirements.txt
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* check for python_full_version too
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* 2.7.14
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* warn when using an older version of python
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* requirements for anaconda buildpack
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* remove hashes for conda buildpack
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* improvements to pipenv python version detection
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* oops
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* oops
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* oops
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* echo not puts
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* try this
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* learn more
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* there we go
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* cleanups
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* cleanups
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* cleanups
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* unsupported
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* consistiency
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* be more specific
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* capitalize Pipfile.lock
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* attempt to force color
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* try this
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* try this
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* interactive
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* interactive
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* diagnose
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* try without -l
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* confirmed env working
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* just -c
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* use latest, to debug
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* no more bash
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* try …
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* don't use the git version of pipenv
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* oops
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* next version
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* 2.7.14
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* comment out force color bits
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* readme
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* more tests
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* more tests
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* ellipsis
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* pipenv --deploy
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* full version lockfile
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
2017-09-26 17:41:51 -04:00
kennethreitz
ff223597f3
Upgrades 🔝 ( #475 )
...
* fixed the bug for pypy-5.8.0
* changelog
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* python 2.7.14
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* pipfile > requirements.txt
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* check for python_full_version too
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* 2.7.14
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* warn when using an older version of python
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* requirements for anaconda buildpack
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* remove hashes for conda buildpack
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* improvements to pipenv python version detection
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* oops
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* oops
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* oops
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* echo not puts
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* try this
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* learn more
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* there we go
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* cleanups
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* cleanups
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* cleanups
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* unsupported
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* consistiency
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* be more specific
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* capitalize Pipfile.lock
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* attempt to force color
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* try this
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* try this
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* interactive
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* interactive
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* diagnose
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* try without -l
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* confirmed env working
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* just -c
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* use latest, to debug
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* no more bash
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* try …
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* don't use the git version of pipenv
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* oops
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* next version
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* 2.7.14
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* comment out force color bits
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* readme
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* more tests
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* more tests
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* ellipsis
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
2017-09-26 11:42:14 -04:00
Ed Morley
df7f8f3507
Skip vendoring libffi/libmemcached on Heroku-16 ( #465 )
...
* Add a test for the cryptography (cffi) compile step
Since it's currently untested.
* Skip vendoring libffi/libmemcached on Heroku-16
Unlike for Cedar-14, Heroku-16 comes with these packages pre-installed:
https://github.com/heroku/stack-images/blob/5a341970cfc1f201014262ad64c3b3e47514f663/heroku-16/installed-packages.txt#L111
https://github.com/heroku/stack-images/blob/5a341970cfc1f201014262ad64c3b3e47514f663/heroku-16/installed-packages.txt#L172
As such the build scripts had already been made a no-op on Heroku-16:
https://github.com/heroku/heroku-buildpack-python/blob/fedae5ceda5a42f594012f911c3808dd5dc6fd9e/builds/libraries/vendor/libffi#L6-L9
https://github.com/heroku/heroku-buildpack-python/blob/fedae5ceda5a42f594012f911c3808dd5dc6fd9e/builds/libraries/vendor/libmemcache#L6-L9
...meaning the Heroku-16 archives for them on S3 contain zero files.
However until now, the buildpack was still unnecessarily downloading
and extracting these empty archives - and not just on the first compile
(like on cedar-14), but every compile since the directory check will
never succeed.
2017-09-08 11:27:46 -04:00
Ed Morley
4212e06309
NLTK support: Fix passing of multiple corpora identifiers ( #460 )
...
* NLTK support: Update test to use multiple corpora
So that the incorrect handling of multiple IDs seen in #444 would
have been caught.
Also switches to some of the smaller corpora, to reduce time spent
downloading during tests (see sizes on http://www.nltk.org/nltk_data/ ).
* NLTK support: Fix passing of multiple corpora identifiers
As part of fixing the shellcheck warnigns in #438 , double quotes had
been placed around `$nltk_packages` passed to the `nltk.downloader`,
which causes multiple identifiers to be treated as though it were just
one identifier that contains spaces.
The docs for the shellcheck warning in question recommend using arrays
if the intended behaviour really is to split on spaces:
https://github.com/koalaman/shellcheck/wiki/SC2086#exceptions
As such, `readarray` has been used, which is present in bash >=4.
The `[*]` array form is used in the log message, to prevent shellcheck
warning SC2145, whereas `[@]` is used when passed to `nltk.downloader`
to ensure the array elements are unpacked as required.
Note: Both before and after this fix, using anything but unix line
endings in `nltk.txt` will also cause breakage.
2017-09-05 09:32:04 -04:00
kennethreitz
f74d4db8c5
Shellcheck Compliance ( #438 )
...
* fixed the bug for pypy-5.8.0
* enable shellcheck in makefile
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* make compile script shellcheck compatible
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* let's see what this says
* fix pip installation
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck detect script
* shellcheck release
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck test-compile
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck warnings/utils
* updated makefile
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck collectstatic
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck cryptography
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck eggpath fixes
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck gdal
* shellcheck goes-libs
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck mercurial
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* nltk shellcheck
* shellcheck pip-install
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck pip-uninstall
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck pipenv
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck pylibmc
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* shellcheck python
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* update makefile
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* final update to makefile
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* fix tests
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* actually fix the tests
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* update pipenv-python-version
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* requested fixes
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* update spellcheck sources
* attempted fix for shell globbing
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* further attempted fix
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* switch nltk styling
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* no more need for temp app for installing pip
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* attempt at staged build for shellcheck
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* attempted fix of travis file
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* reorder travis file
* add shellcheck to install
* make things clearer in travis file
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* better travis file
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* attempt at better travis file
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* better travis file
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
2017-08-03 17:36:23 -04:00
kennethreitz
2512694df9
Geos tests ( #437 )
...
* fixed the bug for pypy-5.8.0
* cleanup makefile
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* allow builds to happen when capitalization is used
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* restore behavior
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* make makefile default to heroku-16
* test geos libraries
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
2017-08-02 19:59:44 -04:00
kennethreitz
a7c20eea42
Python 3 default for buildpack ( #409 )
...
* update default python to 3.6.1
* v110
* nltk python2
2017-06-20 09:14:01 -07:00
kennethreitz
db95cdd3f3
new pylibmc test ( #408 )
2017-06-05 13:47:48 -04:00
kennethreitz
c3849fb6d3
improvements
2017-03-14 13:36:14 -04:00
kennethreitz
5608ed9f3c
fix build
2017-03-14 13:21:40 -04:00
kennethreitz
e9108858fc
v100
2017-03-14 11:59:39 -04:00
kennethreitz
dcfff15151
cleanups
2017-03-14 11:23:28 -04:00
kennethreitz
cdbeb6419e
2.7.11
2017-03-14 10:50:55 -04:00
kennethreitz
858113cf76
tests for newlines
2017-03-14 10:49:49 -04:00
kennethreitz
0fadebf7d8
more tests
2017-03-10 12:37:11 -05:00