Skip to content

Conversation

@pravagar
Copy link

For workflowapp, if worker runtime is dotnet-isolated and function language is DotNetAssembly, then it should not be changed to dotnet-isolated.

@pravagar pravagar requested a review from a team as a code owner November 19, 2025 18:06
Copilot AI review requested due to automatic review settings November 19, 2025 18:06
Copilot finished reviewing on behalf of pravagar November 19, 2025 18:10
Copy link
Contributor

Copilot AI left a 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 isLogicApp parameter to UpdateFunctionMetadataLanguageForDotnetAssembly method with early return logic
  • Added test coverage for workflowApp scenarios with both dotnet and dotnet-isolated worker 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.
Copy link

Copilot AI Nov 19, 2025

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.

Suggested change
// 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.

Copilot uses AI. Check for mistakes.
}

/// <summary>
/// Runs tests with Node language provider function.
Copy link

Copilot AI Nov 19, 2025

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."

Suggested change
/// Runs tests with Node language provider function.
/// Runs tests with multiple language providers (C# and JavaScript) to verify workflowApp behavior with different worker runtimes.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant