-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Add new lambda runtimes and more parity fixes #9697
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
Conversation
LocalStack Community integration with Proβββββββ2 filesβ Β±ββ0βββββββββ2 suitesβ Β±0βββ1h 7m 5s β±οΈ +59s Results for commit 7431537.βΒ± Comparison against base commit f354fd4. β»οΈ This comment has been updated with latest results. |
7f440ef
to
d51147c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, great set of changes! I think the marker for tests that need to be run for an update is a great idea!
"recorded-content": { | ||
"tag_lambda_invalidarn": { | ||
"Error": { | ||
"Code": "ValidationException", | ||
"Message": "1 validation error detected: Value 'arn:aws:something' at 'resource' failed to satisfy constraint: Member must satisfy regular expression pattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" | ||
"Message": "1 validation error detected: Value 'arn:aws:something' at 'resource' failed to satisfy constraint: Member must satisfy regular expression pattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:(function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?|layer:[a-zA-Z0-9-_]+)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't look into the implications of the added layer
part for the implementation here
Superseeds #9659 (Node 20) and #9685 (Java 20)
Big kudos to our community members @ataylorme and @eddumelendez for your initiative and efforts πππ π₯³
Motivation
AWS recently announced new Lambda runtimes (based on AL2023 such as Nodejs 20.x) and our currently supported runtimes have become outdated. Furthermore, more runtime changes including deprecations and new runtimes are expected to come in the future.
Updating runtimes is currently too cumbersome and many effects (both from us and contributors) are incomplete and need to be followed up by bugfixes.
Changes
This PR fixes AWS-parity for Lambda and updates many snapshots:
nodejs20.x
,python3.12
(not yet in the docs but already live),java21
,provided.al2023
(see https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)nodejs12.x
anddotnetcore3.1
to aDEPRECATED_RUNTIMES
list but keep them available in LocalStack for now. We log a deprecation warning upon creating or updating deprecated runtimes.lambda_runtime_update
to filter test cases related to Lambda runtime updates for easier snapshot updates. This allows us to keep the tests grouped logically and easily update snapshots related to runtime updates.RequestEntityTooLargeException
) and a new higher limit for request size. Like in AWS, users will see the clearer zipped file size exception rather than the more confusing request size too large exception.test_vpc_config
Idea for v4
Having an opt-in flag such as
LAMBDA_EXTENDED_RUNTIMES
would enable deprecated as well as upcoming preview runtimes while maintaining full AWS parity.TODO
What's left to do:
Follow Ups
LAMBDA_EXTENDED_RUNTIMES
LAMBDA_LIMITS_CREATE_FUNCTION_REQUEST_SIZE
to new default70_167_211
Add new Lambda config LAMBDA_LIMITS_CODE_SIZE_ZIPPEDΒ docs#933