feat: add java8.al2023, java11.al2023, java17.al2023 runtime support#9125
Open
ckawl wants to merge 3 commits into
Open
feat: add java8.al2023, java11.al2023, java17.al2023 runtime support#9125ckawl wants to merge 3 commits into
ckawl wants to merge 3 commits into
Conversation
Add support for Java AL2023 runtimes across SAM CLI: - Fix patch_runtime to correctly strip .al2023 suffix before passing to lambda-builders - Add runtimes to architecture, workflow config, runtime templates, image mappings - Update schema and help text - Add unit tests for new runtimes
- Add java8.al2023, java11.al2023, java17.al2023 to entrypoint_mapping
in lambda_debug_settings.py (same settings as base runtimes)
- Fix compare_runtimes in init_flow_helpers.py to handle .al2023 suffix
(previous logic only checked .endswith(".al2"), causing non-antisymmetric
comparator for al2023 pairs)
- Update _DEBUG_RUNTIMES in test_lambda_debug_settings.py
Add java8.al2023, java11.al2023, java17.al2023 to: - test_building_java_in_process (non-container, will pass in CI) - test_building_java_in_container_al2023 (container, will pass once SAM build images are published)
valerena
approved these changes
Jul 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue(s) does this change fix?
Support for java8.al2023, java11.al2023, java17.al2023 Lambda managed runtimes launching July 20, 2026.
Why is this change necessary?
AWS Lambda is releasing AL2023 variants of Java 8, 11, and 17 runtimes. SAM CLI needs to recognize these runtimes so users can
sam init,sam build, andsam local invokewith them.
Additionally, the existing
patch_runtimefunction uses.replace(".al2", "")which incorrectly mangles.al2023(producingjava8023instead ofjava8). This must befixed before the new runtimes can work.
How does it address the issue?
patch_runtimeto strip.al2023before.al2(order matters to avoid substring match)architecture.py,workflow_config.py,runtime_template.py,lambda_image.py,samcli.jsonlambda_debug_settings.py(same settings as base runtimes)compare_runtimesininit_flow_helpers.pyto handle.al2023suffix for consistent sort orderjava8.al2What side effects does this change have?
None. All changes are additive. Existing runtimes are unaffected — verified by running unit tests (358 pass), mypy, Black, and ruff.
Mandatory Checklist
PRs will only be reviewed after checklist is complete
make prpassesmake update-reproducible-reqsif dependencies were changedBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.