Commit Graph

272 Commits

Author SHA1 Message Date
Ed Morley 31e8f48db8 Install setuptools from PyPI rather than a vendored copy (#1007)
Since:
* we'll be updating setuptools soon, and newer setuptools has dropped
  support for Python versions this buildpack needs to support. As such
  if we continued to vendor setuptools, we would need to vendor at
  least three different versions.
* we want to try and update setuptools more frequently than we have
  in the past, which will mean more repo bloat from binary churn.
* we're still pinning to a specific version, meaning vendoring doesn't
  have determinism benefits.
* setuptools is only fetched from PyPI for new installs (or where
  versions have changed), so this doesn't increase build time, load on
  PyPI, or reliance on PyPI in the common case.
* setuptools is already being inadvertently installed from PyPI prior to
  being installed from the vendored copy (see #1001), so we're in effect
  already using/depending on PyPI here.
* switching to storing setuptools on S3 wouldn't help reliability as
  much as it would appear at first glance, since the later `pip install`
  of customer dependencies will fail if PyPI is down anyway.
2020-07-29 19:11:35 +01:00
Ed Morley 47a8b4b3b9 Output the installed version of setuptools in the build log (#1007)
Since:
* "explicit is better than implicit"
* we'll soon be upgrading setuptools, and debugging breakage caused by
  upgrades will be easier if versions are visible in the build log
2020-07-29 19:11:35 +01:00
Ed Morley 157ce25694 Output the installed version of pip in the build log (#1007)
Since:
* "explicit is better than implicit"
* we'll soon be upgrading pip, and debugging breakage caused by upgrades
  will be easier if versions are visible in the build log

Closes #939.
2020-07-29 19:11:35 +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 156b07ce2b Release v173 (#998) 2020-07-21 11:31:01 +01:00
Rust Saiargaliev e288ed5a9e Add support for CPython 3.8.5 (#996)
https://www.python.org/downloads/release/python-385/

Release contains a couple of security bugfixes.
Changelog: https://docs.python.org/release/3.8.5/whatsnew/changelog.html#changelog
2020-07-21 11:01:31 +01:00
Ed Morley 181e3395f9 Release v172 (#995) 2020-07-17 12:03:37 +01:00
Denis Cornehl 013ba6b1d9 Add support for Python 3.8.4 (#993) 2020-07-17 10:19:21 +01:00
Ed Morley bce5bf4869 Release v171 (#991) 2020-07-07 19:20:13 +01:00
Denis Cornehl 0fdb62faa9 Add support for Python 3.6.11 and 3.7.8 (#988) 2020-07-07 18:39:44 +01:00
Ed Morley 122722f89e v170 (#978) 2020-05-19 15:33:30 +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
Ed Morley dd646998d3 Fix changelog after rebase (#967)
The merge of #910 added three lines to the changelog rather than just one:
https://github.com/heroku/heroku-buildpack-python/commit/932cd257c98e9f56e878134f84a09d7d972bc46e

The original commit before rebase, was:
https://github.com/heroku/heroku-buildpack-python/pull/910/commits/d57d26b2e0348199228312950e55b42bc9de8147

I've also clarified the wording of it and the other unreleased change,
to reduce the chance for confusion as to what's changed, when customers
debug issues.
2020-04-24 10:32:38 +01:00
Thomas Mollard 932cd257c9 fix runtime.txt generation when using pipenv (#910)
Co-authored-by: Casey <caseylfaist@gmail.com>
Co-authored-by: Joe Kutner <jpkutner@gmail.com>
2020-04-23 21:30:04 -05:00
Joe Kutner 106f2997fa Add support for Python 3.8 latest version (#955)
* Add support for Python 3.8 latest version

If the pip lock file only specifies `3.8` and no bug fix version, it should use Python LATEST_38.

* Update CHANGELOG.md

* Update changelog

Co-authored-by: Johannes Hoppe <info@johanneshoppe.com>
Co-authored-by: Casey <caseylfaist@gmail.com>
2020-04-23 08:11:53 -05:00
Joe Kutner 373a656272 Update changelog for version 169 (#957) 2020-04-22 16:32:08 -05:00
Joe Kutner 0abc749aff Add a Hatchet test for python 3.8.2 (#956)
* Add a Hatchet test for python 3.8.2

* update changelog

* Update test to match build output

* Fix formatting and a syntax error in tests

* Fix syntax error in hatchet spec
2020-04-22 10:38:16 -05:00
Joe Kutner 60614232da Set Codeowners to languages (#953)
* Set languages as codeowners

* Update changelog
2020-04-21 17:39:56 -05:00
Joe Kutner edb7004a28 Update hatchet tests to support latest version of Python (#952)
* Update hatchet tests to support latest version of Python

* Empty commit to trigger CI
2020-04-21 16:42:56 -05:00
Casey ea350a6694 Bugfix: Caching on subsequent redeploys (#948)
* Don't clear the cache on first app deploy

* Add output for debugging cache behavior

* Debug output of changes, clean up whitespace

* Update hatchet to use latest getting started guide

* Clean up caching output logs

This output was confusing and unhelptul to most users

* Changelog

* Test if we need these lines

* dang fi

* Remove unnecessary code

* Remove confusing output of change

* Update log output

* Update test to match new expected log output

* Update changelog
2020-04-21 15:41:57 -05:00
Casey 49597f22ca Merge branch 'master' into releaseprep/168 2020-04-06 15:03:32 -04:00
Casey Faist 4bb8f59f2c Prep release changelog update 2020-04-06 13:58:51 -04:00
Casey 2c2cbc4653 Merge branch 'master' into kgrinberg/master 2020-04-06 13:23:29 -04:00
Casey 398a0fb202 Merge branch 'master' into kgrinberg/master 2020-04-02 15:48:21 -04:00
Casey 5bf80a2270 Merge branch 'master' into geos-deprecation 2020-04-02 15:47:01 -04:00
Casey Faist 0fa27b7b0d More recent changelog update 2020-04-02 13:22:55 -04:00
Casey cc247753e5 Merge branch 'master' into kgrinberg/master 2020-04-02 12:55:25 -04:00
Casey 3d70b2e9ff Merge branch 'master' into barbeque/patch-1 2020-04-02 12:10:22 -04:00
Casey Faist 0d61f83269 Update changelog 2020-04-02 12:08:11 -04:00
Casey Faist e12ad47397 Add missing dev/null for diff output 2020-04-02 11:01:44 -04:00
Casey 307cb13159 Merge branch 'master' into geos-deprecation 2020-03-30 10:08:56 -04:00
Casey 156da405e0 Merge branch 'master' into barbeque/patch-1 2020-03-27 14:55:50 -04:00
Casey ea90db6d13 Add Buildpack-Maintainers as code owners (#938) 2020-03-27 14:47:52 -04:00
Casey Faist 56f7ccc511 Changelog update 2020-03-27 12:50:45 -04:00
Casey a2c72f77f9 Merge branch 'master' into patch-1 2020-03-27 12:49:08 -04:00
Casey 93a5144033 Merge branch 'master' into kgrinberg/master 2020-03-26 19:10:52 -04:00
Casey ac76968c90 Merge branch 'master' into geos-deprecation 2020-03-26 18:44:45 -04:00
mike 2b3a90ec0c PR feedback 2020-03-25 20:20:27 -06:00
Casey Faist 0c2b954a6d Update Changelog 2020-03-24 13:43:18 -04:00
Casey d8b37dcaf8 Merge branch 'master' into geos-deprecation 2020-03-18 10:29:39 -04:00
Casey Faist 8c9521d806 Create failcase for deploying the same code twice 2020-03-12 13:47:29 -07:00
Kevin Grinberg 312b9ca6de Fix old Django version detection 2020-03-09 11:43:59 -04:00
Casey Faist 1df55a6c3c and add a changelog 2020-03-04 16:03:10 -08:00
Casey Faist a19d4950a9 changelog update and typo fix 2020-03-03 12:31:58 -08:00
Casey Faist e68f556e63 Build and release Python 3.8.2 2020-02-27 15:26:33 -07:00
Casey Faist 552f0f77d5 Changelog! 2020-02-19 13:59:25 -05:00
Casey Faist ca9b6de50f Update changelog to pass check 2020-02-19 09:37:41 -05:00
Joe Kutner 520c240edd Download get-pip.py to tmpdir instead of root dir 2020-02-16 09:27:07 -06:00
Casey Faist 2942fc8e4a Correct Changelog 2019-12-23 01:28:06 -05:00
Casey Faist 9a9e972db0 Changelog update 2019-12-23 00:06:28 -05:00