heroku / heroku-geo-buildpack

37 stars 26 forks source link

Update default GDAL to 3.5.0 and PROJ to 8.2.1 #38

Closed edmorley closed 2 years ago

edmorley commented 2 years ago

Changes the default versions for new apps that don't set an explicit version, as follows:

Existing apps are not affected, since subsequent builds re-use the same version as used by the previous successful build (unless the build cache is cleared).

See here to find out more about the changes in these versions: https://github.com/OSGeo/gdal/blob/v3.5.0/NEWS.md https://proj.org/news.html

If any new apps using this buildpack now experience issues, either:

Closes #20. GUS-W-10346751.

edmorley commented 2 years ago

Confirmed latest GDAL Python package now works (resolving #20):

$ mkdir -p testapp-geo && cd $_ && git init && h create
$ h buildpacks:add 'https://github.com/heroku/heroku-geo-buildpack#edmorley/update-defaults'
$ h buildpacks:add heroku/python
$ echo 'GDAL' > requirements.txt
$ git add -A && git commit -m '.' && git push heroku main
...
remote: -----> Building on the Heroku-20 stack
remote: -----> Using buildpacks:
remote:        1. https://github.com/heroku/heroku-geo-buildpack#edmorley/update-defaults
remote:        2. heroku/python
remote: -----> Geo Packages (GDAL/GEOS/PROJ) app detected
remote: -----> Installing GDAL-3.5.0
remote: -----> Installing GEOS-3.10.2
remote: -----> Installing PROJ-8.2.1
remote: -----> Python app detected
remote: -----> No Python version was specified. Using the buildpack default: python-3.10.4
remote:        To use a different version, see: https://devcenter.heroku.com/articles/python-runtimes
remote: -----> Installing python-3.10.4
remote: -----> Installing pip 22.0.4, setuptools 60.10.0 and wheel 0.37.1
remote: -----> Installing SQLite3
remote: -----> Installing requirements with pip
remote:        Collecting GDAL
remote:          Downloading GDAL-3.5.0.tar.gz (752 kB)
remote:          Preparing metadata (setup.py): started
remote:          Preparing metadata (setup.py): finished with status 'done'
remote:        Building wheels for collected packages: GDAL
remote:          Building wheel for GDAL (setup.py): started
remote:          Building wheel for GDAL (setup.py): finished with status 'done'
remote:          Created wheel for GDAL: filename=GDAL-3.5.0-cp310-cp310-linux_x86_64.whl size=3948955 sha256=28c3e2ef9968c4c32a6fff76817849f06d2444ff6f54afec327555b069e51bb4
remote:          Stored in directory: /tmp/pip-ephem-wheel-cache-7a755quk/wheels/17/dc/ba/c4602a29c4c7bad3a98bd6e565ee97eeb20096cfa3da7a2913
remote:        Successfully built GDAL
remote:        Installing collected packages: GDAL
remote:        Successfully installed GDAL-3.5.0