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
Johannes Hoppe
f767a73515
Fix #398 -- Set explict GDAL and GEOS location ( #478 )
...
Set GDAL and GEOS library locaiton explicitly in environment
variables:
* GDAL_LIBRARY_PATH "/app/.heroku/vendor/lib/libgdal.so"
* GEOS_LIBRARY_PATH "/app/.heroku/vendor/lib/libgeos_c.so"
Django has to settings with the same name. The setup now works as
described here:
https://devcenter.heroku.com/articles/postgis#geodjango-setup
2017-11-15 16:57:39 -05:00
kennethreitz
17f992a106
Improvements ( #471 )
...
* only do this on heroku-16
* history
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
* code comment
Signed-off-by: Kenneth Reitz <me@kennethreitz.org >
2017-09-08 12:02:03 -04:00
Zach McCormick
002780c2d9
Adding step to copy libjasper to vendor lib directory so that libgdal will load ( #449 )
2017-09-08 11:43:28 -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
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
aef7b65b95
Don't skip the geo-libs vendoring step if only gdalserver present
...
Since if someone previously had `GDAL` in their requirements file, they
would already have the gdalserver binary present from `bin/steps/gdal`
but be missing the proj and geos vendor files. By checking for `proj`
instead, we ensure that the vendoring isn't incorrectly skipped in this
case.
2016-08-02 14:28:24 +01: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