Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Archive old Python buildpack version tags #1699

Open
edmorley opened this issue Nov 18, 2024 · 0 comments
Open

Archive old Python buildpack version tags #1699

edmorley opened this issue Nov 18, 2024 · 0 comments
Assignees

Comments

@edmorley
Copy link
Member

edmorley commented Nov 18, 2024

We've seen a few support tickets where a user has tried to upgrade to Heroku-24, and encounters the "Python version not available for this stack" error message due to them unknowingly using an out of date buildpack version (that is using the old style S3 URLs where the Heroku-24 assets don't exist). For example:

The build log does mention the buildpack URL at the start of the build, and the Python version error message does link to https://devcenter.heroku.com/articles/python-support#supported-runtimes which mentions checking the buildpack version, however, some users still end up confused.

To raise awareness of apps using an outdated buildpack version, we can rename the Git tags similar to what we've done in the past (for example: vNNN -> archive/vNNN). If a particular app still needs to use an outdated tag for some reason, they can switch to the archive/vNNN tag name, but the missing tag error during the build will remind users that they have pinned to a old buildpack version.

Note: As a reminder we strongly recommend using the buildpack registry alias for the buildpack URL (eg heroku/python) rather than the GitHub URLs, since:

  • The buildpack registry buildpacks are hosted on S3 (rather than GitHub) and so have stronger uptime/reliability guarantees.
  • The buildpack registry buildpacks for officially supported languages are pre-cached on the build workers, so don't require an additional git clone step.
  • The buildpack registry buildpacks are the curated/stable release that matches the docs on Dev Center/any updates on the Heroku Changelog, whereas the main branch of the repo on GitHub will contain changes that have not yet been officially released.
  • The support policy only covers apps using the latest version of the buildpack from the buildpack registry: https://devcenter.heroku.com/articles/buildpacks#buildpack-references

The first Python buildpack version to support Heroku-24 is v250:
https://github.com/heroku/heroku-buildpack-python/blob/main/CHANGELOG.md#v250---2024-04-26

So at the least we should archive anything older than v250. (v207 and older are already archived)

Although on Dev Center we now document:

  • .python-version as the recommended way to control the Python version (instead of runtime.txt), which requires Python buildpack v261+
  • Poetry as a supported package manager, which requires Python buildpack v264/v265+

...so it might be worth archiving anything older than v265 too.

GUS-W-17308840.

@edmorley edmorley self-assigned this Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant