Skip to content

Fixes #5248. Expand AOT smoke coverage to Windows and explicit clone paths#5255

Merged
tig merged 5 commits into
developfrom
copilot/sub-pr-5251
May 8, 2026
Merged

Fixes #5248. Expand AOT smoke coverage to Windows and explicit clone paths#5255
tig merged 5 commits into
developfrom
copilot/sub-pr-5251

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 8, 2026

Proposed Changes/Todos

The PR now validates NativeAOT in the failure mode that previously escaped: runtime execution on Windows, not just Linux publish. It also makes the smoke test directly execute the dictionary deep-clone surfaces that have regressed in AOT before.

  • CI: run AOT publish-and-run smoke test on both OSes

    • build-validation now runs on an OS matrix: ubuntu-latest, windows-latest
    • Smoke execution is platform-specific (NativeAot on Linux, NativeAot.exe on Windows)
  • NativeAot smoke path: explicit dictionary clone coverage

    • In --smoke-test, added direct DeepCloner.DeepClone (...) calls for:
      • Color.Colors16
      • Application.DefaultKeyBindings
      • View.DefaultKeyBindings
      • View.ViewKeyBindings
      • ThemeManager.Themes
      • SchemeManager.Schemes
    • Keeps existing full app lifecycle smoke run intact
  • Workflow hardening

    • Added explicit workflow token permissions: contents: read
  • Example (new explicit clone coverage)

private static void ExerciseDictionaryDeepCloning ()
{
    _ = DeepCloner.DeepClone (Color.Colors16);
    _ = DeepCloner.DeepClone (Application.DefaultKeyBindings);
    _ = DeepCloner.DeepClone (View.DefaultKeyBindings);
    _ = DeepCloner.DeepClone (View.ViewKeyBindings);
    _ = DeepCloner.DeepClone (ThemeManager.Themes);
    _ = DeepCloner.DeepClone (SchemeManager.Schemes);
}

Pull Request checklist:

  • I've named my PR in the form of "Fixes #issue. Terse description."
  • My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
  • My code follows the Terminal.Gui library design guidelines
  • I ran dotnet test before commit
  • I have made corresponding changes to the API documentation (using /// style comments)
  • My changes generate no new warnings
  • I have checked my code and corrected any poor grammar or misspellings
  • I conducted basic QA to assure all features are working

Copilot AI changed the title [WIP] Add AOT smoke test to CI Fixes #5248. Expand AOT smoke coverage to Windows and explicit clone paths May 8, 2026
Copilot AI requested a review from tig May 8, 2026 00:21
Copilot finished work on behalf of tig May 8, 2026 00:21
Base automatically changed from aot-smoke-test-ci to develop May 8, 2026 02:03
@tig tig marked this pull request as ready for review May 8, 2026 02:38
@tig tig merged commit 09489cd into develop May 8, 2026
12 checks passed
@tig tig deleted the copilot/sub-pr-5251 branch May 8, 2026 02:49
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.

2 participants