Skip to content

Commit

Permalink
Add support for Python 3.8.8 and 3.9.2
Browse files Browse the repository at this point in the history
  • Loading branch information
edmorley committed Feb 19, 2021
1 parent 25714b5 commit 01af290
Show file tree
Hide file tree
Showing 13 changed files with 37 additions and 14 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Unreleased

- Python 3.8.8 and 3.9.2 are now available (CPython) ([#1178](https://github.com/heroku/heroku-buildpack-python/pull/1178)).

## v190 (2021-02-16)

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ Specify a Python Runtime

Supported runtime options include:

- `python-3.9.1`
- `python-3.8.7`
- `python-3.9.2`
- `python-3.8.8`
- `python-3.7.10`
- `python-3.6.13`
- `python-2.7.18`
4 changes: 2 additions & 2 deletions bin/default_pythons
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
# the env vars to subprocesses.
# shellcheck disable=2034

LATEST_39="python-3.9.1"
LATEST_38="python-3.8.7"
LATEST_39="python-3.9.2"
LATEST_38="python-3.8.8"
LATEST_37="python-3.7.10"
LATEST_36="python-3.6.13"
LATEST_35="python-3.5.10"
Expand Down
4 changes: 4 additions & 0 deletions builds/runtimes/python-3.8.8
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/

source $(dirname $0)/python3
4 changes: 4 additions & 0 deletions builds/runtimes/python-3.9.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Build Path: /app/.heroku/python/

source $(dirname $0)/python3
2 changes: 1 addition & 1 deletion spec/fixtures/pipenv_and_runtime_txt/runtime.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python-3.9.1
python-3.9.2
2 changes: 1 addition & 1 deletion spec/fixtures/python_3.8/runtime.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python-3.8.7
python-3.8.8
2 changes: 1 addition & 1 deletion spec/fixtures/python_3.9/runtime.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python-3.9.1
python-3.9.2
2 changes: 1 addition & 1 deletion spec/fixtures/runtime_txt_only/runtime.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python-3.9.1
python-3.9.2
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@

python-3.9.1
python-3.9.2

16 changes: 15 additions & 1 deletion spec/hatchet/pipenv_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,21 @@
context 'with a Pipfile.lock containing python_full_version 3.9.1' do
let(:app) { Hatchet::Runner.new('spec/fixtures/pipenv_python_full_version') }

include_examples 'builds using Pipenv with the requested Python version', '3.9.1'
it 'builds with the outdated Python version specified' do
app.deploy do |app|
expect(clean_output(app.output)).to match(Regexp.new(<<~REGEX))
remote: -----> Python app detected
remote: ! Python has released a security update! Please consider upgrading to python-#{LATEST_PYTHON_3_9}
remote: Learn More: https://devcenter.heroku.com/articles/python-runtimes
remote: cp: cannot stat '/tmp/build_.*/requirements.txt': No such file or directory
remote: -----> Installing python-3.9.1
remote: -----> Installing pip 20.1.1, setuptools 47.1.1 and wheel 0.34.2
remote: -----> Installing dependencies with Pipenv 2020.11.15
remote: Installing dependencies from Pipfile.lock \\(e13df1\\)...
remote: -----> Installing SQLite3
REGEX
end
end
end

context 'with a Pipfile.lock containing an invalid python_version',
Expand Down
4 changes: 2 additions & 2 deletions spec/hatchet/python_version_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -160,13 +160,13 @@
include_examples 'builds with the requested Python version', LATEST_PYTHON_3_7
end

context 'when runtime.txt contains python-3.8.7' do
context 'when runtime.txt contains python-3.8.8' do
let(:app) { Hatchet::Runner.new('spec/fixtures/python_3.8') }

include_examples 'builds with the requested Python version', LATEST_PYTHON_3_8
end

context 'when runtime.txt contains python-3.9.1' do
context 'when runtime.txt contains python-3.9.2' do
let(:app) { Hatchet::Runner.new('spec/fixtures/python_3.9') }

include_examples 'builds with the requested Python version', LATEST_PYTHON_3_9
Expand Down
4 changes: 2 additions & 2 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
LATEST_PYTHON_3_5 = '3.5.10'
LATEST_PYTHON_3_6 = '3.6.13'
LATEST_PYTHON_3_7 = '3.7.10'
LATEST_PYTHON_3_8 = '3.8.7'
LATEST_PYTHON_3_9 = '3.9.1'
LATEST_PYTHON_3_8 = '3.8.8'
LATEST_PYTHON_3_9 = '3.9.2'
LATEST_PYPY_2_7 = '7.3.2'
LATEST_PYPY_3_6 = '7.3.2'
DEFAULT_PYTHON_VERSION = LATEST_PYTHON_3_6
Expand Down

0 comments on commit 01af290

Please sign in to comment.