|
88 | 88 | end |
89 | 89 | end |
90 | 90 |
|
91 | | - context 'with an app last built using an older default Python version' do |
| 91 | + # TODO: Enable on Heroku-26 after the default Python version next changes (for the 3.14.5 |
| 92 | + # release), since for now there isn't a historic buildpack version we can use in this test |
| 93 | + # whose stack check permits Heroku-26 and also has a different default Python version so |
| 94 | + # that we can test the sticky versions feature. |
| 95 | + context 'with an app last built using an older default Python version', stacks: %w[heroku-22 heroku-24] do |
92 | 96 | # This test performs an initial build using an older buildpack version, followed |
93 | 97 | # by a build using the current version. This ensures that: |
94 | 98 | # - The current buildpack can successfully read the version metadata |
95 | 99 | # written to the build cache by older buildpack versions. |
96 | 100 | # - If no Python version is specified, the same major version as the |
97 | | - # last build is used (sticky versioning). |
| 101 | + # last build is used (sticky major versioning). |
98 | 102 | # - Changes in the pip version are handled correctly. |
99 | 103 | let(:buildpacks) { ['https://github.com/heroku/heroku-buildpack-python#v267'] } |
100 | 104 |
|
101 | | - it 'builds with the same Python version as the last build' do |
| 105 | + it 'builds with the same major Python version as the last build' do |
102 | 106 | app.deploy do |app| |
103 | 107 | update_buildpacks(app, [:default]) |
104 | 108 | app.commit! |
|
566 | 570 | app.deploy do |app| |
567 | 571 | expect(clean_output(app.output)).to include(<<~OUTPUT) |
568 | 572 | remote: -----> Python app detected |
569 | | - remote: -----> Using Python 3.13.2 specified in .python-version |
| 573 | + remote: -----> Using Python 3.14.0 specified in .python-version |
570 | 574 | remote: |
571 | 575 | remote: ! Warning: A Python patch update is available! |
572 | 576 | remote: ! |
573 | | - remote: ! Your app is using Python 3.13.2, however, there is a newer |
574 | | - remote: ! patch release of Python 3.13 available: #{LATEST_PYTHON_3_13} |
| 577 | + remote: ! Your app is using Python 3.14.0, however, there is a newer |
| 578 | + remote: ! patch release of Python 3.14 available: #{LATEST_PYTHON_3_14} |
575 | 579 | remote: ! |
576 | 580 | remote: ! It is important to always use the latest patch version of |
577 | 581 | remote: ! Python to keep your app secure. |
578 | 582 | remote: ! |
579 | 583 | remote: ! Update your .python-version file to use the new version. |
580 | 584 | remote: ! |
581 | 585 | remote: ! We strongly recommend that you don't pin your app to an |
582 | | - remote: ! exact Python version such as 3.13.2, and instead only specify |
583 | | - remote: ! the major Python version of 3.13 in your .python-version file. |
| 586 | + remote: ! exact Python version such as 3.14.0, and instead only specify |
| 587 | + remote: ! the major Python version of 3.14 in your .python-version file. |
584 | 588 | remote: ! This will allow your app to receive the latest available Python |
585 | 589 | remote: ! patch version automatically and prevent this warning. |
586 | 590 | remote: |
587 | | - remote: -----> Installing Python 3.13.2 |
| 591 | + remote: -----> Installing Python 3.14.0 |
588 | 592 | remote: -----> Installing pip #{PIP_VERSION} |
589 | 593 | OUTPUT |
590 | 594 | end |
|
0 commit comments