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

Support AWS Ruby Lambda with Bazel Rules #27

Closed
kigster opened this issue Dec 5, 2019 · 0 comments
Closed

Support AWS Ruby Lambda with Bazel Rules #27

kigster opened this issue Dec 5, 2019 · 0 comments
Assignees
Labels
Milestone

Comments

@kigster
Copy link
Contributor

kigster commented Dec 5, 2019

According to this guide on packaging Ruby Lambda on AWS, dependencies must be installed invendor/bundle folder using bundle install --path vendor/bundle command.

The Ruby runtime provided is Ruby version 2.5.

In order to be able to support this, we must have a way to grab gem dependencies from ruby_bundle and attach gem folders to vendor/bundle and feed it to pkg_zip rule, together with any source files and the configuration YAML.

Right now we have no easy way to extract gem folders from the external bundle. We also don't know if the gems with native extensions built on the target host will work on AWS against Ruby binary possibly located in another place on the file system. This is important because native extensions often hard-code link paths to the ruby interpreter as can be seen from the following output:

Taken from OS-X:

 1 ❯ otool -L jaro_winkler_ext.bundle
jaro_winkler_ext.bundle:
	/Users/kig/.rbenv/versions/2.6.5/lib/libruby.2.6.dylib (compatibility version 2.6.0, current version 2.6.5)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.0.0)
@kigster kigster added this to the M-0.1 milestone Dec 5, 2019
@kigster kigster added outdated and removed fix-tests labels Jan 4, 2020
@kigster kigster closed this as completed Feb 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants