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

Closed
edmorley opened this issue Nov 18, 2024 · 2 comments · Fixed by #1752
Closed

Archive old Python buildpack version tags #1699

edmorley opened this issue Nov 18, 2024 · 2 comments · Fixed by #1752
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:

And then other tickets where the issue being reported wouldn't have occurred had the app been using the latest buildpack version, eg:

The build log does mention the buildpack URL at the start of the build, 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/managing-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
@edmorley
Copy link
Member Author

We've seen a few support tickets ...

And another:
https://heroku.support/1527869

@edmorley
Copy link
Member Author

I've archived releases v208 through to v265 inclusive. (By renaming the Git tags from vNNN to archive/vNNN, similar to what was done previously for v207 and older.)

Apps using one of the archived tags will see an error like:

 !     error fetching custom buildpack https://github.com/heroku/heroku-buildpack-python#vNNN

 !     Push failed

(Ideally this error would be more specific; I'll have a look to see if it's easy to improve it in cytokine)

If a particular app still needs to use an outdated tag for some reason, they can switch to the archive/vNNN tag name rather than switching back to the heroku/python stable alias (or GitHub default branch).

@edmorley edmorley pinned this issue Feb 18, 2025
edmorley added a commit that referenced this issue Feb 19, 2025
The Git tags for buildpack releases v208 to v265 have been
archived (renamed from `vNNN` to `archive/vNNN`) for
the reasons in #1699 (similar to the process performed in
the past for release v207 and older).

As such, the changelog compare URLs need updating, as do
the test fixtures that test building an app whose last (cached)
build was performed using an older version of the buildpack.

Closes #1699.
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

Successfully merging a pull request may close this issue.

1 participant