From 0aaa371488d5229e5f575167f9c0c4bb9f5205f8 Mon Sep 17 00:00:00 2001 From: HueByte Date: Wed, 25 Feb 2026 10:08:50 +0100 Subject: [PATCH] chore: update release process for single-file publish and enhance installer script --- .github/workflows/release.yml | 10 +++++----- docs/changelog/v0.2.9.md | 5 +++++ scripts/install.sh | 13 ++++++++++--- src/Directory.Build.props | 2 +- 4 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 docs/changelog/v0.2.9.md diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2ad99d8..dc9c7f9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,23 +81,23 @@ jobs: - name: Publish Client win-x64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r win-x64 --self-contained true -o publish/client-win-x64 + run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o publish/client-win-x64 - name: Publish Client linux-x64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r linux-x64 --self-contained true -o publish/client-linux-x64 + run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r linux-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o publish/client-linux-x64 - name: Publish Client osx-x64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r osx-x64 --self-contained true -o publish/client-osx-x64 + run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r osx-x64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o publish/client-osx-x64 - name: Publish Client osx-arm64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r osx-arm64 --self-contained true -o publish/client-osx-arm64 + run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r osx-arm64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o publish/client-osx-arm64 - name: Publish Client linux-arm64 if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' - run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r linux-arm64 --self-contained true -o publish/client-linux-arm64 + run: dotnet publish src/EchoHub.Client/EchoHub.Client.csproj -c Release -r linux-arm64 --self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o publish/client-linux-arm64 - name: Zip artifacts if: steps.changes.outputs.src_changed == 'true' && steps.check_release.outputs.exists == 'false' diff --git a/docs/changelog/v0.2.9.md b/docs/changelog/v0.2.9.md new file mode 100644 index 0000000..3fc6db7 --- /dev/null +++ b/docs/changelog/v0.2.9.md @@ -0,0 +1,5 @@ +# v0.2.9 + +## Bug Fixes + +- Fix Linux/macOS client install — enable single-file publish so the install script copies one self-contained binary instead of just the native host (which failed with "does not exist: EchoHub.Client.dll") diff --git a/scripts/install.sh b/scripts/install.sh index 576c30e..238604d 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -199,10 +199,17 @@ main() { fi fi - # Install the binary + # Install full directory to ~/.local/share/echohub and symlink the binary. + # Even single-file publishes may have content files (appsettings, assets) + # that the app expects next to the binary via AppContext.BaseDirectory. + app_dir="$HOME/.local/share/echohub" + rm -rf "$app_dir" + mkdir -p "$app_dir" + cp -r "$src_dir"/. "$app_dir/" + chmod +x "$app_dir/EchoHub.Client" + mkdir -p "$install_dir" - cp "$src_dir/EchoHub.Client" "$install_dir/$BINARY_NAME" - chmod +x "$install_dir/$BINARY_NAME" + ln -sf "$app_dir/EchoHub.Client" "$install_dir/$BINARY_NAME" echo "" diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 744d01d..24de7d9 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,6 +1,6 @@ - 0.2.8 + 0.2.9 true $(NoWarn);CS1591