-
Notifications
You must be signed in to change notification settings - Fork 10
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
CNB shim defaults to Buildpack API 0.4 which is deprecated #69
Comments
The upstream CNB project is going to be releasing This means any buildpack API version less than 0.7 will no longer be supported (once we update the Heroku builder images to use the new lifecycle release) - making cnb-shim no longer supported, unless it's upgraded/fixed. Whilst we can probably hold off updating |
lifecycle 0.18.0 (that drops support for the Buildpack API version currently used by cnb-shim) is now out: |
Noting here for completeness: The main |
@edmorley I wonder if we'll need to get this in ship shape with the launch of Fir and migration of customers to CNBs. |
(I've moved the longer answer above to #95 and pinned it, to improve visibility) |
As of
lifecycle
0.16+, any Buildpack API version lower than 0.7 is deprecated. Currently cnb-shim defaults to Buildpack API 0.4, which means warnings like the following can be seen in thepack build
output when usingheroku/builder-classic:22
- for example:Whilst cnb-shim supports overriding the choice of default Buildpack API version via URL parameters (eg
&api=0.8
), this only updates the API version listed in the generatedbuildpack.toml
, and doesn't actually make the rest of cnb-shim compatible with the newer API versions.An initial attempt at updating to a newer default Buildpack API version occurred in #66, however that was then reverted in #68 due to #67.
As mentioned in #67 (comment) fixing #67 is non-trivial, since the
libbuildpack
Go library that cnb-shim uses doesn't support newer Buildpack API versions - and in factlibbuildpack
has been sunset in favour of thelibcnb
Go library, so cnb-shim would need to migrate to a new library.Lastly, cnb-shim currently doesn't have any concept of supporting multiple buildpack API versions within the wrapper bash scripts or the releaser Go binary. So if we change cnb-shim to be compatible with newer Buildpack API versions, we'll then break compatibility with users specifying an older API version - unless we add support for multiple API versions, or decide to only support a single API version (which may not be viable, given users of the web service have no way to control when the service is updated).
All of these means we may want/need to reconsider the design/maintainability of cnb-shim longer term as part of trying to solve this issue.
GUS-W-13062656.
The text was updated successfully, but these errors were encountered: