Ed Morley
fcf696b835
Add support for Heroku-20 ( #968 )
...
This adds support for the upcoming Heroku-20 stack.
The Heroku-20 Dockerfile is identical to that for Heroku-18, other
than the base image, and stack-related env var changes.
The initial Python versions made available will be those in:
https://devcenter.heroku.com/articles/python-support#supported-runtimes
https://devcenter.heroku.com/articles/python-support#supported-pypy-runtimes
...minus CPython 2.7, since it's EOL.
Which are:
* `python-3.6.12`
* `python-3.7.9`
* `python-3.8.6`
* `python-3.9.0`
* `pypy2.7-7.3.2`
* `pypy3.6-7.3.2`
Note: Unlike CPython 2.7, the PyPy 2.7 branch is still supported:
https://doc.pypy.org/en/latest/faq.html#how-long-will-pypy-support-python2
In addition, I've generated binaries for each patch release immediately
prior to the latest versions (with the exception of 3.9.0, since there
isn't one), otherwise it's not possible to run the "out of date Python"
warning tests.
The binaries were generated using the process here:
https://github.com/heroku/heroku-buildpack-python/blob/main/builds/README.md
Specifically:
```
make deploy-runtimes STACKS='heroku-20' \
RUNTIMES='python-3.6.11 python-3.6.12 python-3.7.8 python-3.7.9 python-3.8.5 python-3.8.6 python-3.9.0 pypy2.7-7.3.1 pypy2.7-7.3.2 pypy3.6-7.3.1 pypy3.6-7.3.2' \
ENV_FILE=...
```
Binaries for the GDAL/GEOS/PROJ feature have not been generated, since
it's deprecated and due for removal shortly:
https://help.heroku.com/D5INLB1A/python-s-build_with_geo_libraries-legacy-feature-is-now-deprecated
Note: Like the Python 3.9.0 release, this uses the new S3 bucket, so
apps will need to be using a recent version of the buildpack in order
to build on Heroku-20:
https://devcenter.heroku.com/articles/python-support#checking-the-python-buildpack-version
Closes @W-7485877@.
2020-10-07 19:44:33 +01:00
Ed Morley
b74a41395e
Refactor S3 asset URL handling ( #1085 )
...
Previously the buildpack's S3 bucket was defined in two places - once
in `VENDOR_URL` and again during the pip installation step. This
duplication was necessary since `VENDOR_URL` also contained the stack's
name, whereas the pip use-case used a non-stack-specific S3 key prefix.
In order to:
* reduce this duplication
* simplify this buildpack's S3 bucket migration (where we'll soon be
needing the vary the bucket name and wouldn't want to have to
duplicate that logic in multiple places)
* allow overriding of the URL for the pip use-case
...the `VENDOR_URL` variable has been replaced with `S3_BASE_URL` which
no longer contains the stack name.
The user-configurable override has similarly been renamed from
`BUILDPACK_VENDOR_URL` to `BUILDPACK_S3_BASE_URL`. Note: As before,
this override cannot be set via standard app variables (see #989 ).
The unused `USE_STAGING_BINARIES` environment variable has been
removed, since it's a leftover from the project to stand up a staging S3 bucket.
It's redundant given the `BUILDPACK_S3_BASE_URL` variable.
Closes @W-8142401@.
2020-10-01 10:13:26 +01:00
Kevin Brolly
a6510f0f77
Added a deprecation warning when using BUILD_WITH_GEO_LIBRARIES or installing pygdal
2019-10-22 12:38:43 -07:00
David Zülke
00d44d2e34
Revert "Refactor: $BUILD_DIR"
2019-10-09 15:28:31 +02:00
Duane Hutchins
05e29c74bc
Changed hardcoded /app into $BUILD_DIR
2019-10-07 16:41:07 -07:00
Casey
49e9147439
track usage of older feature steps ( #802 )
...
* track usage of older feature steps
* remove typo whitespace
* make buildvars consistently cased
2019-02-21 14:06:20 -08:00
Jose Diaz-Gonzalez
e15f68944a
feat: allow stack url overrides using BUILDPACK_VENDOR_URL env var ( #643 )
...
This is useful if you'd like to customize python binaries without forking the entire buildpack.
Similar functionality was implemented in https://github.com/heroku/heroku-buildpack-ruby/pull/238
2018-03-02 07:15:23 -05: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
ff94908505
Fix pyyaml ( #402 )
...
* Revert "use pkg_resources to check for distributions (#395 )"
This reverts commit 9b185f99d5 .
* use sp-grep for django detection
* sp-grep
* fix setuptools script
2017-06-02 15:23:05 -04:00
David Lord
9b185f99d5
use pkg_resources to check for distributions ( #395 )
...
more accurate than parsing requirements.txt
fixes #359
2017-05-30 11:05:33 -04:00
kennethreitz
26ed6daeaa
remove bpwatch
2017-03-17 14:12:18 -04:00
kennethreitz
e9108858fc
v100
2017-03-14 11:59:39 -04:00
kennethreitz
2df1131d3c
remove bpwatch
2017-03-10 11:21:57 -05:00
Ed Morley
a259143c0b
Avoid repetition of vendor library environment variable setting
...
Since we need to set it regardless of whether the vendored library
existed previously or not.
2016-08-02 14:13:20 +01:00
kennethreitz
eab957c8c9
BUILD_WITH_GEO_LIBRARIES
2016-03-11 14:58:33 -05:00
kennethreitz
c98615cdd0
pygdal
2016-03-04 14:37:21 -05:00
kennethreitz
0749a04773
flexible caps for gdal
2016-03-04 14:18:25 -05:00
kennethreitz
a4f072714d
vendored geos and proj steps for GDAL
2016-03-04 14:14:41 -05:00
Ed Morley
69b8b25322
Use the canonical (and HTTPS) URLs for devcenter and pip
...
To save the 301s.
2016-02-29 18:28:23 +00:00
kennethreitz
26b4bfbab6
gdal fix
2015-05-14 08:38:11 +02:00
kennethreitz
9e00de4e56
improvements to gdal step
2015-05-14 08:28:32 +02:00
kennethreitz
afa8a0f75f
pre-compiled gdal step
2015-05-14 08:27:16 +02:00