Skip to content

Make release build Avalonia-only#4959

Open
Marc-André Moreau (mamoreau-devolutions) wants to merge 8 commits into
mainfrom
mamoreau-devolutions/avalonia-only-release
Open

Make release build Avalonia-only#4959
Marc-André Moreau (mamoreau-devolutions) wants to merge 8 commits into
mainfrom
mamoreau-devolutions/avalonia-only-release

Conversation

@mamoreau-devolutions

@mamoreau-devolutions Marc-André Moreau (mamoreau-devolutions) commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Removes the WinUI frontend project from the active Windows solution and release build path.
  • Moves shared app assets/utilities into src\SharedAssets and builds the Avalonia app directly as UniGetUI.exe / UniGetUI.dll.
  • Ships the Windows app as UniGetUI.exe only; the legacy WingetUI.exe alias is no longer copied, and installer upgrades remove stale alias files.
  • Updates release workflow, local packaging, E2E manifests, docs, tests, macOS bundle metadata, and installer cleanup for Avalonia-only releases.

Validation

  • dotnet format whitespace .\src --folder --verify-no-changes --verbosity minimal
  • dotnet format style .\src\UniGetUI.Windows.slnx --no-restore --verify-no-changes --verbosity minimal
  • dotnet build .\src\UniGetUI.Windows.slnx --no-restore --verbosity minimal /p:Platform=x64 /p:Configuration=Debug /p:UseSharedCompilation=false /m:1
  • dotnet test .\src\UniGetUI.Windows.slnx --no-restore --verbosity q --nologo /p:Platform=x64 /p:Configuration=Debug /p:UseSharedCompilation=false /m:1
  • .\scripts\build.ps1 -SkipTests -SkipInstaller -OutputPath .\output\avalonia-direct-unigetui-exe
  • Release dry run: https://github.com/Devolutions/UniGetUI/actions/runs/27766732170

Windows size comparison vs v2026.2.1

Package Old MiB New MiB Delta MiB Delta
UniGetUI.x64.zip 198.62 130.74 -67.88 -34.18%
UniGetUI.arm64.zip 186.05 121.63 -64.43 -34.63%
UniGetUI.Installer.x64.exe 134.95 89.08 -45.87 -33.99%
UniGetUI.Installer.arm64.exe 122.68 80.36 -42.32 -34.49%

Expanded Windows payloads:

Package Old MiB New MiB Delta MiB Delta
UniGetUI.x64.zip 490.70 319.01 -171.70 -34.99%
UniGetUI.arm64.zip 521.02 334.58 -186.44 -35.78%

New Windows zips contain root UniGetUI.exe and UniGetUI.dll directly: no nested Avalonia/, no root UniGetUI.Avalonia.*, and no WingetUI.exe alias.

Remove the WinUI frontend from the active solution and release payload, move shared assets into neutral paths, and publish Avalonia as the Windows app while preserving existing executable/artifact names.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Stop copying WingetUI.exe into Windows release payloads now that Avalonia ships as UniGetUI.exe, and remove stale alias files during installer upgrades.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Resolve the Avalonia publish directory from MSBuild evaluation instead of parsing Directory.Build.props in PowerShell.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Set the Avalonia assembly name to UniGetUI so publishing emits UniGetUI.exe directly, remove apphost rename steps, and update Avalonia resource URIs plus E2E manifests for the new assembly name.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Align macOS bundle packaging with the Avalonia assembly now emitting UniGetUI instead of UniGetUI.Avalonia.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run Windows solution build and test paths serially without shared compilation to avoid intermittent CS2012 locks on package manager project outputs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Apply the same no-shared-compilation single-process build settings to the headless daemon build to avoid intermittent CS2012 output locks on Windows CI.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Give the Windows CLI E2E daemon more time to load package managers before the named-pipe IPC readiness check.

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

None yet

Development

Successfully merging this pull request may close these issues.

1 participant