Skip to content

Revert .NET 10 custom code support for v5.959 hotfix#9170

Open
lambrianmsft wants to merge 16 commits into
Azure:hotfix/v5.959from
lambrianmsft:hotfix/v5.959-lambrian
Open

Revert .NET 10 custom code support for v5.959 hotfix#9170
lambrianmsft wants to merge 16 commits into
Azure:hotfix/v5.959from
lambrianmsft:hotfix/v5.959-lambrian

Conversation

@lambrianmsft
Copy link
Copy Markdown
Contributor

@lambrianmsft lambrianmsft commented May 14, 2026

What & Why

Reverts .NET 10 custom code project support from the v5.959 hotfix line and keeps the restored unit coverage in the same PR so this can merge directly into hotfix/v5.959.

Why:

  • Issue VS Code: Deployed logic app fails to open in the portal with prolonged loading and no content displayed. #9144 reports Azure-deployed Logic Apps workflows not loading after SQL + NuGet deployment.
  • VSIX 5.273.0 is reported as known-good, and the strongest regression boundary is the .NET 10 custom code support change.
  • The hotfix should restore the previous .NET 8 codeless NuGet conversion defaults while preserving later hotfix-era conflict resolutions.
  • Restored/adapted tests keep the coverage gate strict instead of weakening PR coverage policy.
  • PR coverage CI hit Node heap OOM while running the full VS Code extension unit suite with Istanbul coverage, so the coverage workflow now gives that step a larger Node heap without changing thresholds or exclusions.

Affected areas:

  • apps/vs-code-designer: custom code function/project steps, code project base, codeful workflow creation, workflow switchToDotnetProject, debug/custom-code/dotnet/codeless utility tests, and reverted .NET 8 defaults/templates.
  • apps/vs-code-react: create workspace .NET framework step tests and reverted .NET 8 framework UI behavior.
  • .github/workflows/pr-coverage.yml: CI-only Node heap increase for the coverage test step to avoid VS Code extension coverage OOM.

Supersedes #9169, which was closed so this PR can carry both the revert and coverage fix directly into hotfix/v5.959.

Fixes #9144

Type of Change

  • fix

Impact of Change

Users

  • Restores prior .NET 8-based custom-code/codeless NuGet conversion behavior for the v5.959 hotfix line.
  • Intended to unblock SQL + NuGet deployed Logic Apps workflows that fail to load in Azure Portal.

Developers

  • Restores and adapts unit tests removed by the revert so changed-file coverage remains enforced.
  • Keeps the hotfix branch reviewable as one PR: production revert plus corresponding coverage restoration.
  • Makes the PR coverage workflow more stable for the existing full VS Code extension unit coverage run.

System

  • Reverts .NET 10 workflow/template/default behavior back to the previously supported .NET 8 hotfix behavior.
  • No coverage-threshold changes, coverage exclusions, runtime dependencies, or product runtime changes from the CI heap adjustment.

Risk Level

  • Low

Risk notes:

  • Low risk because this is a targeted hotfix revert to previously shipped behavior plus tests.
  • The product change is scoped to VS Code custom-code/codeless NuGet conversion and workspace framework selection paths.
  • The CI change only increases Node heap for the PR coverage test step and does not weaken validation.

Test Plan

  • Updated/restored unit tests for the affected VS Code designer and VS Code React flows.
  • Ran pnpm install --frozen-lockfile during the hotfix setup.
  • Ran pnpm exec biome check --write <changed test files>.
  • Ran targeted apps/vs-code-designer Vitest coverage: 12 files, 192 tests passed.
  • Ran targeted apps/vs-code-react Vitest coverage: 2 files, 25 tests passed.
  • Verified final changed-file coverage table: all target files are >= 80%.
  • Ran pnpm run build:extension during the revert validation.
  • PR Coverage Check rerun after CI heap adjustment.

Screenshots / Videos

Not applicable - VS Code hotfix revert, unit coverage restoration, and CI coverage stability update; no new UI surface.

Contributors

N/A

lambrianmsft and others added 2 commits May 14, 2026 13:45
Reverts commit 3059380 from the v5.959 hotfix branch to restore the pre-.NET 10 custom code project defaults.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 14, 2026

🤖 AI PR Validation Report

PR Review Results

Thank you for your submission! Here's detailed feedback on your PR title and body compliance:

PR Title

  • Current: Revert .NET 10 custom code support for v5.959 hotfix
  • Issue: None. The title is clear, specific, and accurately describes the change.
  • Recommendation: No change needed.

Commit Type

  • Properly selected (fix).
  • Only one commit type is selected, which is correct.

Risk Level

  • The submitted risk level (Low) matches the scope of the diff reasonably well.
  • The PR is a targeted hotfix revert with tests and a CI-only coverage adjustment, so low is acceptable.

What & Why

  • Current: Well filled out and clearly explains the revert, motivation, affected areas, and CI coverage fix.
  • Issue: None.
  • Recommendation: No change needed.

Impact of Change

  • The section is sufficiently detailed for users, developers, and system impact.
  • Recommendation:
    • Users: Good as written.
    • Developers: Good as written.
    • System: Good as written.

Test Plan

  • The diff contains the claimed unit test updates/restorations and additional coverage-related changes.
  • There is also a reasonable explanation for the CI heap adjustment and the PR-coverage rerun note.
  • No E2E tests were added, but unit test coverage is present and the explanation is adequate for this PR type.

Contributors

  • N/A is acceptable here.
  • No action required.

Screenshots/Videos

  • Not applicable for this revert/CI/test-only change.
  • No action required.

Summary Table

Section Status Recommendation
Title
Commit Type
Risk Level
What & Why
Impact of Change
Test Plan
Contributors
Screenshots/Videos

PR passes. Advised risk is not higher than the submitter’s estimate.


Last updated: Wed, 20 May 2026 21:43:08 GMT

@lambrianmsft lambrianmsft added the risk:low Low risk change with minimal impact label May 14, 2026
@lambrianmsft lambrianmsft changed the title Restore coverage for .NET 10 revert Restore hotfix test coverage after .NET 10 custom code revert May 14, 2026
@lambrianmsft lambrianmsft changed the title Restore hotfix test coverage after .NET 10 custom code revert Revert .NET 10 custom code support for v5.959 hotfix May 14, 2026
@lambrianmsft lambrianmsft changed the base branch from hotfix/v5.959-lambrian to hotfix/v5.959 May 14, 2026 22:00
lambrianmsft and others added 14 commits May 14, 2026 15:05
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run the VS Code designer extension unit test script through node with an explicit heap size so full-package Istanbul coverage can complete in CI.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Collect VS Code designer Istanbul coverage only for changed package source files during PR runs so coverage generation matches the changed-file gate and avoids CI heap exhaustion.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Resolve changed VS Code designer coverage files from the pull request event base SHA first, so CI does not fall back to all-source Istanbul coverage when remote branch refs are unavailable.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Allow test:extension-unit tasks to receive GitHub PR base-ref environment values so VS Code designer coverage can scope instrumentation to changed files in CI.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Have CI write the changed VS Code designer source list before extension-unit tests and let the package Vitest config read that list, avoiding all-source Istanbul coverage under Turbo.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Switch the VS Code designer Vitest coverage provider from Istanbul to V8 so the full extension-unit suite can complete in CI while still emitting lcov for the changed-file coverage gate.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run VS Code designer Vitest through a small Node wrapper that sets NODE_OPTIONS before Vitest starts, allowing worker processes to inherit the larger heap in CI.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run full extension-unit tests without coverage in Test Runner, and run targeted VS Code designer coverage only in the PR coverage workflow so the changed-file gate has data without exhausting CI memory.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep the sharded VS Code designer Vitest wrapper aligned with the package exclude rules by skipping src/test harness files when discovering unit test shards.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Default the VS Code designer no-coverage unit test wrapper to one test file per Vitest process so memory-heavy files cannot accumulate heap across a shard in CI.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-validated risk:low Low risk change with minimal impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant