Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Heroku's legacy shimmed builder images (
heroku/buildpacks:20
andheroku/builder-classic:22
) are EOL and will soon stop receiving security updates.We added deprecation warnings to the builder images back in October:
heroku/cnb-builder-images#429
And these warnings were just upgraded to errors:
heroku/cnb-builder-images#478
However, the way these warnings/errors are shown is via the builders default buildpack detection group configuration, which means that if a project provides a custom buildpack list (either via
project.toml
,--buildpack
args to Pack CLI, or via a third party build tool that overrides the buildpack list), these warnings aren't shown.For example, as seen in:
apppackio/apppack-codebuild-image#5 (comment)
heroku/buildpacks-nodejs#800 (comment)
As such, I'm adding them directly to cnb-shim, to raise awareness of the Heroku builder image sunset, as well as the deprecated nature of cnb-shim.
The implementation is based on that here:
https://github.com/heroku/cnb-builder-images/blob/88cb8159fff129ab498c2e9a5df9bbaff8ea204a/buildpacks-20/end-of-life-buildpack/bin/build
I've re-used the same
ALLOW_EOL_SHIMMED_BUILDER
env var name, since otherwise it will cause another round of breaking changes for people who've already seen the error message from the builder itself, and have already set that env var.Since cnb-shim may be being used by non-Heroku builder images too (for which the sunset nature of the builder doesn't apply; only the cnb-shim deprecation), we check the stack ID and vary the message/behaviour accordingly.
GUS-W-15325154.