-
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
Remove implicit requirement on bash (support direct=true) #74
Comments
Do you have any sketches of what we might need to do to move forward? I see this:
From heroku/buildpacks-procfile#150. I'm catching up on
It is very similar to a
I think we need to do this in order to run the exec.d binaries based on this:
Or are you talking about something different? If I'm interpreting correctly then I think I have the needed information to work on updating the cnb-shim so we can update the procfile buildpack so we can update the ruby buildpack. |
I don't really understand the questions / where the confusion is? I'll try giving an overview and maybe that will help? (That said, part of the task for whomever works on this will be figuring out exactly how to design/implement this, since we don't have all the answers yet.) Classic buildpacks can choose to use Currently cnb-shim copies any classic Lines 32 to 38 in 0b64096
With older CNB API versions when using With newer CNB API versions That means cnb-shim will need to use The As such, it seems like cnb-shim will need to:
At runtime, the
Or if sticking to Go, then you need to bear in mind that cnb-shim is stuck on a very old CNB helper library - see the In general, this likely won't be a small amount of work, so buyer beware :-) |
The
direct=false
process type mode has been removed as of Buildpack API version 0.9.This has a few implications:
bash -c <original command
)profile.d/
scripts of other buildpacks are no longer run before the command.profile
script in the app source is no longer run before the command (though there is a compatibility buildpack upstream for this: https://github.com/buildpacks/profile)At first glance, it might seem that
cnb-shim
would only be affected by this when it eventually upgrades to Buildpack API 0.9 (it's currently using 0.4; xref #69).However, the problem is that if any other buildpack used alongside a cnb-shimmed buildpack choses to switch to
direct=true
for the processes they define (which they'll all have to do eventually, given Buildpack API 0.9+ removes support for the olderdirect=false
mode), then the shimmed buildpack will just stop working since its.profile.d/
scripts will no longer be sourced.This means we need to add support in
cnb-shim
before any other buildpack can switch todirect=true
.For more info, see:
heroku/buildpacks-procfile#151
heroku/buildpacks-procfile#150 (comment)
GUS-W-13156998.
The text was updated successfully, but these errors were encountered: