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 — title is clear and indicates this is a revert/hotfix PR.
  • Recommendation: Keep as-is. Optionally you can add the issue number in the title (e.g., Revert .NET 10 custom code support for v5.959 hotfix (fixes #9144)) to make the linkage more visible in lists.

Commit Type

  • Properly selected (fix).
  • Note: Only one type selected which is correct for this change.

Risk Level

  • Risk label risk:low is present and matches the PR body selection.

What & Why


Impact of Change

  • The Impact section is thorough and scoped (Users, Developers, System).
  • Recommendation: None required.

Test Plan

  • The Test Plan is detailed and lists unit test runs, precise test counts, and build steps. It indicates test restoration and validation steps.
  • Note: For non-revert PRs we would verify changed-file tests in the diff; since this is a revert PR the guidance allows immediate pass. Ensure CI succeeds on the final PR Coverage Check rerun after the CI heap adjustment step.

⚠️ Contributors

  • Current: N/A in the PR body.
  • Assessment: Optional but recommended. If others (PMs, designers, reviewers) contributed, consider adding them to the Contributors section for visibility/credit.

⚠️ Screenshots/Videos

  • Current: Not applicable — this is a revert and unit/CI change with no UI surface changes.
  • Assessment: Acceptable to leave blank.

Summary Table

Section Status Recommendation
Title Keep as-is; optionally include #9144 in title for visibility.
Commit Type No change needed.
Risk Level Label and body match (low).
What & Why No change needed.
Impact of Change No change needed.
Test Plan Ensure CI PR Coverage Check passes after heap adjustment.
Contributors ⚠️ Optional: add credits if applicable.
Screenshots/Videos ⚠️ Not applicable.

Final message
This PR is a revert; per the revert policy it is eligible to be approved immediately. The PR body and labels are well-formed and the declared risk (low) matches the label present on the PR. I recommend merging once the repo CI (including the PR Coverage Check rerun) completes successfully.

Suggested small improvements (optional):

  • Add the issue number in the PR title for easier discovery (e.g., append (fixes #9144)).
  • If anyone else contributed, add them to the Contributors section for credit.

Thank you — this PR can be merged after CI passes.


Last updated: Fri, 15 May 2026 02:57:45 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