-
Notifications
You must be signed in to change notification settings - Fork 790
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
Vendor Ruby if an installation is not found #103
Conversation
The ERB templating feature of this buildpack requires that the `erb` command (part of Ruby) be available at runtime, in order that the nginx config templates can be rendered into a valid nginx config. On Heroku-22 the stack image no longer includes a system Ruby installation, so in order for this buildpack to continue to work, a Ruby install must be vendored by this buildpack. If an app already uses the Ruby buildpack, and that buildpack is ordered prior to the nginx buildpack, then this buildpack will skip the Ruby vendoring step to save installing a redundant copy of Ruby. Fixes #101. GUS-W-11321729.
Tested on Heroku-22 and seems to work fine:
|
In terms of impact on slug size, the uncompressed size of the Ruby install is 48MB:
However the 500MB slug size limit applies to the compressed size, for which the increase is only 20.9 MB on Heroku-22: Before:
After:
These slug size increases seem very acceptable, in return for the benefits of no longer having Ruby in the stack image - for which there are more details in: |
And confirmed the vendored Ruby isn't installed on stacks where system Ruby is present:
|
Published:
|
The ERB templating feature of this buildpack requires that the `erb` command (part of Ruby) be available at runtime, in order that the nginx config templates can be rendered into a valid nginx config. On Heroku-22 the stack image no longer includes a system Ruby installation, so in order for this buildpack to continue to work, a Ruby install must be vendored by this buildpack. If an app already uses the Ruby buildpack, and that buildpack is ordered prior to the nginx buildpack, then this buildpack will skip the Ruby vendoring step to save installing a redundant copy of Ruby. Fixes heroku#101. GUS-W-11321729.
The ERB templating feature of this buildpack requires that the
erb
command (part of Ruby) be available at runtime, in order that the nginx config templates can be rendered into a valid nginx config.On Heroku-22 the stack image no longer includes a system Ruby installation, so in order for this buildpack to continue to work, a Ruby install must be vendored by this buildpack.
If an app already uses the Ruby buildpack, and that buildpack is ordered prior to the nginx buildpack, then this buildpack will skip the Ruby vendoring step to save installing a redundant copy of Ruby.
Fixes #101.
GUS-W-11321729.