Closed timoschilling closed 4 years ago
Hey @timoschilling can you explain this PR a little more? The reason bundler is installed here is so it can be the latest (compatible) version – if there are bugfixes in bundler, then docker-lambda will be able to have the latest version instead of being held back by whatever's on Lambda at the time.
Have you been running into problems with the version of bundler used by docker-lambda?
I had an issue with that some month ago, but didn't time the time to make this PR back then.
The source of the problem was to use different bundler version for bundling and production when using gem's from an git source.
And it can be break if bundler 2.2 or 3.0 is released when aws still uses 2.1
Right, the '~> 2.1'
protects against that
But that can result in the same problem from an other direction. What’s the problem with using the lambda given bundler version?
Your argument that the latest version maybe have bug fixes, has the problem that my CI has a bug fix but my production system don’t. I think that’s not a good thing.
I don't think it really can result in the same problem. You're suggesting that Bundler 2.1.5 used at development time will somehow break something at runtime on a Lambda using Bundler 2.1.4. That would require Bundler to break the contract of semver and there's a much much smaller chance of that happening than the chance that there are bugs in 2.1.4 that need to be fixed. I'm closing this.
Since version 2.7 Ruby includes a version of Bundler, Lambci should use this version to ensure to use the same version as is used in the AWS Lambda environment.