fix(release): write UTF-8 without BOM for release payload
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user