fix(release): write UTF-8 without BOM for release payload

This commit is contained in:
2026-09-07 16:54:46 +02:00
parent 38a8a747c7
commit 83dc42dd86
+20 -4
View File
@@ -74,21 +74,37 @@ $ExistingReleases = try {
$Release = $ExistingReleases | Where-Object { $_.tag_name -eq $TagName }
if (-not $Release) {
$Changelog = Get-Content (Join-Path $ProjectRoot "CHANGELOG.md") -Raw
$Body = @{
$Utf8NoBom = New-Object System.Text.UTF8Encoding($false)
$Changelog = [System.IO.File]::ReadAllText((Join-Path $ProjectRoot "CHANGELOG.md"), $Utf8NoBom)
$PayloadPath = Join-Path $DistDir "release_req.json"
$Payload = @{
tag_name = $TagName
name = "Sanctum $TagName (Windows x86_64)"
body = $Changelog
draft = $false
prerelease = $false
} | ConvertTo-Json
} | ConvertTo-Json -Depth 5
[System.IO.File]::WriteAllText($PayloadPath, $Payload, $Utf8NoBom)
$Release = Invoke-RestMethod -Uri "$GiteaUrl/api/v1/repos/$Owner/$Repo/releases" -Headers $Headers -Method Post -Body $Body -ContentType "application/json; charset=utf-8"
$CreateResp = & curl.exe -s -X POST "$GiteaUrl/api/v1/repos/$Owner/$Repo/releases" `
-H "Authorization: token $Token" `
-H "Content-Type: application/json; charset=utf-8" `
--data-binary "@$PayloadPath"
Remove-Item $PayloadPath -Force -ErrorAction SilentlyContinue
$Release = $CreateResp | ConvertFrom-Json
if (-not $Release.id) {
Write-Error "Fehler beim Erstellen des Releases: $CreateResp"
exit 1
}
Write-Host "[OK] Release $TagName auf Gitea angelegt (ID: $($Release.id))." -ForegroundColor Green
} else {
Write-Host "[INFO] Release $TagName existiert bereits (ID: $($Release.id))." -ForegroundColor Yellow
}
$UploadUrl = "$GiteaUrl/api/v1/repos/$Owner/$Repo/releases/$($Release.id)/assets"
# ZIP Asset hochladen