Release v0.1.5.4 prepare for release

This commit is contained in:
2025-08-29 12:08:10 +02:00
parent a173c99015
commit 47b36588d3
371 changed files with 84993 additions and 30 deletions

View File

@ -56,6 +56,70 @@ if ($LASTEXITCODE -ne 0) {
}
Write-Host "Build erfolgreich abgeschlossen!" -ForegroundColor Green
# Tests ausführen (Unit + optional Integration via PRIVATEBIN_IT)
Write-Host "Führe Tests aus..." -ForegroundColor Yellow
if (Test-Path "build\CTestTestfile.cmake") {
pushd build | Out-Null
try {
# PRIVATEBIN_IT/PRIVATEBIN_SERVER werden ggf. aus der Umgebung übernommen
ctest -C Release --output-on-failure
if ($LASTEXITCODE -ne 0) {
Write-Host "Tests fehlgeschlagen!" -ForegroundColor Red
exit 1
}
} finally {
popd | Out-Null
}
Write-Host "Tests erfolgreich." -ForegroundColor Green
} else {
Write-Host "Warnung: Keine Tests gefunden (build/CTestTestfile.cmake fehlt)." -ForegroundColor Yellow
}
# Optional: clang-cl Coverage bauen und HTML-Report als Artefakt paketieren
Write-Host "Erzeuge optionalen Coverage-Report (clang-cl + LLVM), falls Tools vorhanden sind..." -ForegroundColor Yellow
try {
$llvmCov = "C:\\Program Files\\LLVM\\bin\\llvm-cov.exe"
$llvmProf = "C:\\Program Files\\LLVM\\bin\\llvm-profdata.exe"
if (Test-Path $llvmCov -PathType Leaf -and Test-Path $llvmProf -PathType Leaf) {
$toolchain = Join-Path $env:USERPROFILE 'vcpkg\scripts\buildsystems\vcpkg.cmake'
$haveToolchain = Test-Path $toolchain -PathType Leaf
$cmakeArgs = @(
'-S','.',
'-B','build-clang',
'-G','Visual Studio 17 2022',
'-A','x64',
'-T','ClangCL',
'-DENABLE_LLVM_COVERAGE=ON',
("-DLLVM_PROFDATA={0}" -f $llvmProf),
("-DLLVM_COV={0}" -f $llvmCov)
)
if ($haveToolchain) {
$cmakeArgs += ("-DCMAKE_TOOLCHAIN_FILE={0}" -f $toolchain)
$cmakeArgs += '-DVCPKG_TARGET_TRIPLET=x64-windows'
}
& cmake @cmakeArgs | Out-Null
if ($LASTEXITCODE -ne 0) { throw "CMake-Konfiguration für Coverage fehlgeschlagen" }
& cmake --build build-clang --config Release --target coverage_llvm
if ($LASTEXITCODE -ne 0) { throw "Coverage-Build fehlgeschlagen" }
$htmlDir = "build-clang/coverage/html"
if (Test-Path $htmlDir) {
if (-not (Test-Path 'dist')) { New-Item -ItemType Directory -Path 'dist' | Out-Null }
$zipPath = "dist/coverage_html.zip"
if (Test-Path $zipPath) { Remove-Item -Force $zipPath }
Compress-Archive -Path (Join-Path $htmlDir '*') -DestinationPath $zipPath
Write-Host "Coverage-HTML nach $zipPath gepackt." -ForegroundColor Green
} else {
Write-Host "Hinweis: Kein Coverage-HTML-Verzeichnis gefunden (Tests evtl. ohne Ausführungspfad)." -ForegroundColor Yellow
}
} else {
Write-Host "LLVM-Tools nicht gefunden; überspringe Coverage (erwartet: $llvmCov / $llvmProf)." -ForegroundColor Yellow
}
} catch {
Write-Host "Warnung: Coverage-Erzeugung fehlgeschlagen: $($_.Exception.Message)" -ForegroundColor Yellow
}
# Änderungen committen
$status = git status --porcelain
if ($status) {