[AppService] az webapp create/list-runtimes: Change Node.js 26 runtime identifier. - #33864
[AppService] az webapp create/list-runtimes: Change Node.js 26 runtime identifier.#33864aamos-company wants to merge 3 commits into
Conversation
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
|
Thank you for your contribution aamos-company! We will review the pull request and get back to you soon. |
514c768 to
eb2b19b
Compare
eb2b19b to
216e574
Compare
7b56e06 to
dca47d4
Compare
|
AppService |
| @@ -7990,6 +7716,13 @@ def _format_windows_display_text(cls, display_text): | |||
| t = re.sub(r"\(.*\)", "", t) # remove "(LTS)" | |||
| return t.replace(" ", "|", 1).replace(" ", "") | |||
|
|
|||
| @staticmethod | |||
| def _standardize_node_runtime_name(runtime_name): | |||
There was a problem hiding this comment.
recognizes these case-insensitive forms:
NODE|26
NODE|26-lts
NODE|26LTS
All become:
NODE|26'
For all versions >=26
| @@ -8302,7 +8036,7 @@ def _parse_major_version_linux(self, major_version, parsed_results, seen_runtime | |||
| major_version, linux=True, java=False, include_eol=self._include_eol) | |||
| for minor_version in minor_versions: | |||
| settings = minor_version.stack_settings.linux_runtime_settings | |||
| runtime_name = settings.runtime_version | |||
| runtime_name = self._standardize_node_runtime_name(settings.runtime_version) | |||
There was a problem hiding this comment.
If the stacks API returns:
NODE|26-lts
the resulting runtime object is:
display_name: NODE|26
configs:
linux_fx_version: NODE|26
github_actions_version: 26.x
…andardized name for the config
8cbfc20 to
c15b129
Compare
|
Note: It's made clear in the help output that --runtime canonicalizes the input. This is not the same case for the --linux-fx-version which is taken as a raw string. I am hesitant to change that, but open to feedback. From my understanding of the email thread, ARM will continue to accept |
az webapp create,az webapp list-runtimesDescription
Use NODE|26 as the standard Node.js 26 runtime identifier for both Windows and Linux App Service plans by dropping LTS / -lts from the identifier. LTS is lifecycle metadata, not part of the Node version itself. Existing identifiers for Node.js 24 and earlier remain unchanged and supported.
Previously:

Testing Guide
azdev test TestStackRuntimeNodeStandardization
azdev style appservice
The added tests verify:
• Node 26 displays as NODE|26 on both platforms.
• Linux configuration is exactly NODE|26 .
• Windows configuration remains ~26 .
• NODE|26-lts and NODE|26LTS resolve successfully.
• Node 24 identifiers remain unchanged.
• Current and LTS API entries are deduplicated.
• GitHub Actions returns NODE|26 and version 26.x .
This checklist is used to make sure that common guidelines for a pull request are followed.
The PR title and description has followed the guideline in Submitting Pull Requests.
I adhere to the Command Guidelines.
I adhere to the Error Handling Guidelines.