|
5 | 5 | RSpec.shared_examples 'builds with the requested Python version' do |requested_version, resolved_version| |
6 | 6 | it "builds with Python #{requested_version}" do |
7 | 7 | app.deploy do |app| |
8 | | - if requested_version == '3.13' |
| 8 | + if ['3.9', '3.10', '3.11', '3.12'].include?(requested_version) |
9 | 9 | expect(clean_output(app.output)).to include(<<~OUTPUT) |
10 | 10 | remote: -----> Python app detected |
11 | 11 | remote: -----> Using Python #{requested_version} specified in .python-version |
12 | 12 | remote: -----> Installing Python #{resolved_version} |
13 | | - remote: -----> Installing pip #{PIP_VERSION} |
| 13 | + remote: -----> Installing pip #{PIP_VERSION}, setuptools #{SETUPTOOLS_VERSION} and wheel #{WHEEL_VERSION} |
14 | 14 | remote: -----> Installing dependencies using 'pip install -r requirements.txt' |
15 | 15 | remote: Collecting typing-extensions==4.12.2 (from -r requirements.txt (line 2)) |
16 | 16 | OUTPUT |
|
19 | 19 | remote: -----> Python app detected |
20 | 20 | remote: -----> Using Python #{requested_version} specified in .python-version |
21 | 21 | remote: -----> Installing Python #{resolved_version} |
22 | | - remote: -----> Installing pip #{PIP_VERSION}, setuptools #{SETUPTOOLS_VERSION} and wheel #{WHEEL_VERSION} |
| 22 | + remote: -----> Installing pip #{PIP_VERSION} |
23 | 23 | remote: -----> Installing dependencies using 'pip install -r requirements.txt' |
24 | 24 | remote: Collecting typing-extensions==4.12.2 (from -r requirements.txt (line 2)) |
25 | 25 | OUTPUT |
|
242 | 242 | remote: ! Alternatively, request an older Python version by creating |
243 | 243 | remote: ! a .python-version file in the root directory of your app, |
244 | 244 | remote: ! that contains a Python version like: |
245 | | - remote: ! 3.13 |
| 245 | + remote: ! 3.14 |
246 | 246 | remote: |
247 | 247 | remote: ! Push rejected, failed to compile Python app. |
248 | 248 | OUTPUT |
|
310 | 310 | it_behaves_like 'builds with the requested Python version', '3.13', LATEST_PYTHON_3_13 |
311 | 311 | end |
312 | 312 |
|
| 313 | + context 'when .python-version contains Python 3.14' do |
| 314 | + let(:app) { Hatchet::Runner.new('spec/fixtures/python_3.14') } |
| 315 | + |
| 316 | + it_behaves_like 'builds with the requested Python version', '3.14', LATEST_PYTHON_3_14 |
| 317 | + end |
| 318 | + |
313 | 319 | context 'when .python-version contains an invalid Python version string' do |
314 | 320 | let(:app) { Hatchet::Runner.new('spec/fixtures/python_version_file_invalid_version', allow_failure: true) } |
315 | 321 |
|
|
460 | 466 | remote: ! https://devcenter.heroku.com/articles/managing-buildpacks#view-your-buildpacks |
461 | 467 | remote: ! https://devcenter.heroku.com/articles/managing-buildpacks#classic-buildpacks-references |
462 | 468 | remote: ! |
463 | | - remote: ! Otherwise, switch to a supported version (such as Python 3.13) |
| 469 | + remote: ! Otherwise, switch to a supported version (such as Python 3.14) |
464 | 470 | remote: ! by changing the version in your .python-version file. |
465 | 471 | remote: |
466 | 472 | remote: ! Push rejected, failed to compile Python app. |
|
0 commit comments