-
Notifications
You must be signed in to change notification settings - Fork 474
Do Not Modify Function Language for dotnet-isolated worker runtime in workflowApp #11486
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
base: dev
Are you sure you want to change the base?
Do Not Modify Function Language for dotnet-isolated worker runtime in workflowApp #11486
Conversation
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 modifies the UpdateFunctionMetadataLanguageForDotnetAssembly method in ScriptHost.cs to preserve function language metadata for Logic Apps (workflowApp). When a Logic App uses the dotnet-isolated worker runtime with functions that have DotNetAssembly as their language, the system will no longer change the language property to dotnet-isolated, preventing breaking changes.
Key Changes:
- Added
isLogicAppparameter toUpdateFunctionMetadataLanguageForDotnetAssemblymethod with early return logic - Added test coverage for workflowApp scenarios with both
dotnetanddotnet-isolatedworker runtimes
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/WebJobs.Script/Host/ScriptHost.cs | Modified UpdateFunctionMetadataLanguageForDotnetAssembly to skip language modification for Logic Apps by checking isLogicApp parameter |
| test/WebJobs.Script.Tests.Integration/WebHostEndToEnd/MultiLanguageEndToEndTests.cs | Expanded test to include worker runtime parameter and test cases for both dotnet and dotnet-isolated runtimes |
| { | ||
| if (isLogicApp) | ||
| { | ||
| // For Logic Apps, we want to keep the language as DotNetAssembly to avoid breaking changes. |
Copilot
AI
Nov 19, 2025
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.
The comment states "For Logic Apps, we want to keep the language as DotNetAssembly to avoid breaking changes," but based on the PR description and the implementation, the more accurate statement would be: "For Logic Apps (workflowApp), preserve the original function language metadata without modification." The current implementation prevents any language modification for Logic Apps, not just keeping it as DotNetAssembly specifically.
| // For Logic Apps, we want to keep the language as DotNetAssembly to avoid breaking changes. | |
| // For Logic Apps (workflowApp), preserve the original function language metadata without modification. |
| } | ||
|
|
||
| /// <summary> | ||
| /// Runs tests with Node language provider function. |
Copilot
AI
Nov 19, 2025
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.
The XML documentation comment "Runs tests with Node language provider function" is incomplete. The test now covers multiple scenarios including both C# (DotNetAssembly) and JavaScript (Node) language providers, with different worker runtime configurations (dotnet and dotnet-isolated). Consider updating the summary to reflect this, for example: "Runs tests with multiple language providers (C# and JavaScript) to verify workflowApp behavior with different worker runtimes."
| /// Runs tests with Node language provider function. | |
| /// Runs tests with multiple language providers (C# and JavaScript) to verify workflowApp behavior with different worker runtimes. |
For workflowapp, if worker runtime is dotnet-isolated and function language is DotNetAssembly, then it should not be changed to dotnet-isolated.