Release #16
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| tags: ['v*'] | |
| jobs: | |
| release: | |
| runs-on: windows-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup .NET 8 | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '8.0.x' | |
| - name: Extract version from tag | |
| id: version | |
| shell: bash | |
| run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV | |
| - name: Restore dependencies | |
| run: dotnet restore | |
| - name: Run tests | |
| run: dotnet test --configuration Release --no-restore | |
| # ── Standalone EXE: self-contained, compressed, all native libs bundled ── | |
| - name: Publish standalone EXE | |
| run: > | |
| dotnet publish src/ClipHive/ClipHive.csproj | |
| -c Release -r win-x64 --self-contained true | |
| -p:PublishSingleFile=true | |
| -p:EnableCompressionInSingleFile=true | |
| -p:PublishReadyToRun=false | |
| -p:IncludeNativeLibrariesForSelfExtract=true | |
| -p:Version=${{ env.VERSION }} | |
| -o dist/standalone | |
| # ── Installer payload: framework-dependent, no runtime bundled ─────────── | |
| - name: Publish installer payload | |
| run: > | |
| dotnet publish src/ClipHive/ClipHive.csproj | |
| -c Release -r win-x64 --self-contained false | |
| -p:Version=${{ env.VERSION }} | |
| -o dist/release | |
| - name: Install Inno Setup | |
| run: choco install innosetup -y --no-progress --ignore-checksums || true | |
| - name: Build installer | |
| shell: cmd | |
| run: | | |
| "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" /DMyAppVersion=${{ env.VERSION }} installer\ClipHive.iss | |
| - name: Copy standalone EXE to dist | |
| shell: bash | |
| run: cp dist/standalone/ClipHive.exe "dist/ClipHive-${{ env.VERSION }}-Standalone.exe" | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| dist/ClipHive-${{ env.VERSION }}-Setup.exe | |
| dist/ClipHive-${{ env.VERSION }}-Standalone.exe | |
| generate_release_notes: true | |
| draft: false | |
| body: | | |
| ## Downloads | |
| | File | Description | | |
| |------|-------------| | |
| | `ClipHive-${{ env.VERSION }}-Setup.exe` | **Recommended** — Installer (~20 MB). Requires [.NET 8 Desktop Runtime](https://dotnet.microsoft.com/download/dotnet/8.0) — the installer will prompt if it's missing. | | |
| | `ClipHive-${{ env.VERSION }}-Standalone.exe` | Portable EXE, no installer needed (~90 MB, .NET runtime bundled) | | |
| ### Requirements | |
| - Windows 10 version 1809 or later (Windows 11 fully supported) | |
| - **Installer**: .NET 8 Windows Desktop Runtime (prompted if missing) | |
| - **Standalone**: No .NET installation required — runtime is bundled | |
| ### First Run | |
| After installation, ClipHive starts in the system tray. | |
| Press **Ctrl + Shift + V** to open your clipboard history. |