From e726c44559a88e7b6d8d4a872e601877d6c65d06 Mon Sep 17 00:00:00 2001 From: Hongtao Zhang Date: Mon, 26 Jan 2026 16:30:24 -0800 Subject: [PATCH] ci: add self-contained publish for Avalonia build - Add Net9.0-SelfContained.pubxml publish profile for Avalonia - Add Publish-Self-Contained-Avalonia function to post_build.ps1 - Call Avalonia publish before cleanup in Main function --- .../Net9.0-SelfContained.pubxml | 18 ++++++++++++++++++ Scripts/post_build.ps1 | 19 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 Flow.Launcher.Avalonia/Properties/PublishProfiles/Net9.0-SelfContained.pubxml diff --git a/Flow.Launcher.Avalonia/Properties/PublishProfiles/Net9.0-SelfContained.pubxml b/Flow.Launcher.Avalonia/Properties/PublishProfiles/Net9.0-SelfContained.pubxml new file mode 100644 index 000000000..702700605 --- /dev/null +++ b/Flow.Launcher.Avalonia/Properties/PublishProfiles/Net9.0-SelfContained.pubxml @@ -0,0 +1,18 @@ + + + + + FileSystem + Release + Any CPU + net9.0-windows10.0.19041.0 + ..\Output\Release\Avalonia\ + win-x64 + true + False + False + False + + diff --git a/Scripts/post_build.ps1 b/Scripts/post_build.ps1 index 4cfa37a22..6ef0e22e8 100644 --- a/Scripts/post_build.ps1 +++ b/Scripts/post_build.ps1 @@ -135,6 +135,24 @@ function Publish-Self-Contained ($p) { dotnet publish -c Release $csproj /p:PublishProfile=$profile } +function Publish-Self-Contained-Avalonia ($p) { + $csproj = "$p\Flow.Launcher.Avalonia\Flow.Launcher.Avalonia.csproj" + $profile = "$p\Flow.Launcher.Avalonia\Properties\PublishProfiles\Net9.0-SelfContained.pubxml" + + if (!(Test-Path $csproj)) { + Write-Host "Avalonia project not found at $csproj, skipping self-contained publish..." + return + } + + if (!(Test-Path $profile)) { + Write-Host "Avalonia publish profile not found at $profile, skipping self-contained publish..." + return + } + + Write-Host "Publishing Avalonia self-contained..." + dotnet publish -c Release $csproj /p:PublishProfile=$profile +} + function Publish-Portable ($outputLocation, $version) { & $outputLocation\Flow-Launcher-Setup.exe --silent | Out-Null @@ -156,6 +174,7 @@ function Main { Remove-CreateDumpExe $p $config # Process Avalonia build + Publish-Self-Contained-Avalonia $p Delete-Unused-Avalonia $p $config Remove-CreateDumpExe-Avalonia $p $config