-
Notifications
You must be signed in to change notification settings - Fork 696
feat!: Upgrade lambda runtime to Node24.x #4911
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
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
|
After approval / checks branch will be morged in next. We use the branch to collect breaking changes. |
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.
Pull request overview
This PR upgrades the Lambda runtime from Node.js 22 to Node.js 24 and increases the minimum required AWS Terraform provider version to 6.21. This is a breaking change that affects all Lambda functions and examples in the repository.
Key Changes:
- Updated default Lambda runtime from
nodejs22.xtonodejs24.xacross all modules - Upgraded minimum AWS Terraform provider requirement from various 5.x versions to
>= 6.21 - Updated Node.js version references in CI/CD workflows, Docker images, and development environment
Reviewed changes
Copilot reviewed 65 out of 73 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| versions.tf (root and modules) | Updated AWS provider minimum version from 5.x to >= 6.21 |
| variables.tf (multiple modules) | Changed default lambda_runtime from nodejs22.x to nodejs24.x |
| README.md (multiple modules/examples) | Updated documentation to reflect new provider and runtime versions |
| .nvmrc | Updated Node version from v22 to v24 |
| .github/workflows/*.yml | Updated GitHub Actions to use Node 24 |
| .ci/Dockerfile, .devcontainer/Dockerfile | Updated Docker base images to Node 24 digests |
| .tflint.hcl | Upgraded tflint AWS plugin version from 0.36.0 to 0.44.0 |
| examples/*/versions.tf | Updated AWS provider version constraints across all examples |
Files not reviewed (8)
- examples/default/.terraform.lock.hcl: Language not supported
- examples/ephemeral/.terraform.lock.hcl: Language not supported
- examples/external-managed-ssm-secrets/.terraform.lock.hcl: Language not supported
- examples/lambdas-download/.terraform.lock.hcl: Language not supported
- examples/multi-runner/.terraform.lock.hcl: Language not supported
- examples/permissions-boundary/.terraform.lock.hcl: Language not supported
- examples/prebuilt/.terraform.lock.hcl: Language not supported
- examples/termination-watcher/.terraform.lock.hcl: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
guicaulada
left a comment
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.
From a first glance I just see a minor mismatch on image digest.
I will need some time to be able to properly test if there any issues with the lambdas and the updated runtime, but I wouldn't expect any issues from this.
|
I have tested this in a dev environment using the new providers and lambda runtime. The environment behaved normally and executed 200 simultaneous workflows without issues. I'm ready to approve once the digest for the node:24 image is adjusted. |
7149b77 to
19a94eb
Compare
Co-authored-by: Guilherme Caulada <guilherme.caulada@gmail.com>
guicaulada
left a comment
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! 👍
Upgrade to Lambda runtime Node24.x - Upgrade minimal AWS Terraform provider - Upgrade all lambda runtimes by default to 24x - Breaking change! ## Dependency and environment upgrades: * Updated all references to Node.js from version 22 to version 24 in GitHub Actions workflows (`.github/workflows/lambda.yml`, `.github/workflows/release.yml`) and Dockerfiles (`.ci/Dockerfile`, `.devcontainer/Dockerfile`). [[1]](diffhunk://#diff-b0732b88b9e5a3df48561602571a10179d2b28cbb21ba8032025932bc9606426L23-R23) [[2]](diffhunk://#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34L33-R33) [[3]](diffhunk://#diff-fd0c8401badda82156f9e7bd621fa3a0e586d8128e4a80af17c7cbff70bee11eL2-R2) [[4]](diffhunk://#diff-13bd9d7a30bf46656bc81f1ad5b908a627f9247be3f7d76df862b0578b534fc6L1-R1) * Upgraded the base Docker images for both the CI and devcontainer environments to use newer Node.js image digests. [[1]](diffhunk://#diff-fd0c8401badda82156f9e7bd621fa3a0e586d8128e4a80af17c7cbff70bee11eL2-R2) [[2]](diffhunk://#diff-13bd9d7a30bf46656bc81f1ad5b908a627f9247be3f7d76df862b0578b534fc6L1-R1) Terraform provider updates: * Increased the minimum required version for the AWS Terraform provider to `>= 6.21` in all example `versions.tf` files. [[1]](diffhunk://#diff-61160e0ae9e70de675b98889710708e1a9edcccd5194a4a580aa234caa5103aeL5-R5) [[2]](diffhunk://#diff-debb96ea7aef889f9deb4de51c61ca44a7e23832098e1c9d8b09fa54b1a96582L5-R5) * Updated the `.terraform.lock.hcl` files in all examples to lock the AWS provider at version `6.22.1`, the local provider at `2.6.1`, and the null provider at `3.2.4` where applicable, along with updated hash values and constraints. [[1]](diffhunk://#diff-101dfb4a445c2ab4a46c53cbc92db3a43f3423ba1e8ee7b8a11b393ebe835539L5-R43) [[2]](diffhunk://#diff-2a8b3082767f86cfdb88b00e963894a8cdd2ebcf705c8d757d46b55a98452a6cL5-R43) --------- Co-authored-by: github-aws-runners-pr|bot <github-aws-runners-pr[bot]@users.noreply.github.com> Co-authored-by: Guilherme Caulada <guilherme.caulada@gmail.com>
Upgrade to Lambda runtime Node24.x
Dependency and environment upgrades:
.github/workflows/lambda.yml,.github/workflows/release.yml) and Dockerfiles (.ci/Dockerfile,.devcontainer/Dockerfile). [1] [2] [3] [4]Terraform provider updates:
>= 6.21in all exampleversions.tffiles. [1] [2].terraform.lock.hclfiles in all examples to lock the AWS provider at version6.22.1, the local provider at2.6.1, and the null provider at3.2.4where applicable, along with updated hash values and constraints. [1] [2]