Skip to content

Release v1.4.5

Release v1.4.5 #74

Workflow file for this run

name: Create Release
on:
push:
tags:
- 'v*.*.*' # Triggers on version tags like v1.0.0
jobs:
build-and-release:
runs-on: windows-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup .NET 8
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x
- name: Restore dependencies
run: dotnet restore BlueMeter.sln
- name: Build solution
run: dotnet build BlueMeter.sln --configuration Release --no-restore
- name: Publish application
run: dotnet publish BlueMeter.WPF/BlueMeter.WPF.csproj --configuration Release --output publish --no-build
- name: Install Inno Setup
run: |
choco install innosetup -y --no-progress
# Wait for installation to complete
Start-Sleep -Seconds 5
shell: pwsh
- name: Build Inno Setup Installer (BEFORE reorganizing publish folder)
run: |
$isccPath = "C:\Program Files (x86)\Inno Setup 6\ISCC.exe"
if (-not (Test-Path $isccPath)) {
Write-Host "ISCC not found at $isccPath, checking alternative paths..."
$isccPath = Get-ChildItem -Path "C:\Program Files*" -Filter "ISCC.exe" -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1 -ExpandProperty FullName
if (-not $isccPath) {
throw "Inno Setup ISCC.exe not found!"
}
}
Write-Host "Using ISCC at: $isccPath"
& $isccPath setup\Installer.iss /DSourcePath="${{ github.workspace }}" /O+
shell: pwsh
- name: Organize publish folder
run: |
# Create lib folder for DLLs
New-Item -ItemType Directory -Path publish/lib -Force | Out-Null
# Move DLLs to lib folder
Get-ChildItem publish/*.dll | Move-Item -Destination publish/lib/
# Move other runtime files to lib
Get-ChildItem publish/*.pdb | Move-Item -Destination publish/lib/
# Keep only essential files in root
Copy-Item setup.bat publish/
Copy-Item launcher.bat publish/
Copy-Item BlueMeter.WPF publish/ -Recurse
Copy-Item BlueMeter.Core publish/ -Recurse
Copy-Item BlueMeter.Assets publish/ -Recurse
Copy-Item BlueMeter.sln publish/
Copy-Item Directory.Packages.props publish/
shell: pwsh
- name: Create ZIP archive
run: |
$publishPath = Resolve-Path publish
Compress-Archive -Path $publishPath\* -DestinationPath BlueMeter-${{ github.ref_name }}-windows-x64.zip -Force
shell: pwsh
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: |
BlueMeter-${{ github.ref_name }}-windows-x64.zip
setup/Output/BlueMeterSetup.exe
body: |
## BlueMeter ${{ github.ref_name }}
### 🚀 Installation Options
#### Option 1: Professional Installer (Recommended for most users)
1. Download `BlueMeterSetup.exe`
2. Double-click to run the installer
3. Follow the setup wizard
4. .NET 8.0 will be automatically installed if needed
5. BlueMeter will launch automatically after installation
#### Option 2: Portable Build (For developers/advanced users)
1. Download `BlueMeter-${{ github.ref_name }}-windows-x64.zip`
2. Extract the ZIP file
3. Double-click `setup.bat`
4. The script will build and launch BlueMeter
### Requirements
- Windows 10 or later (x64)
- .NET 8.0 (auto-installed by both installation methods)
### Troubleshooting
See `INSTALL.md` for detailed instructions and troubleshooting.
### Changelog
See commits since last release for changes.
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}