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 }
|
$Release = $ExistingReleases | Where-Object { $_.tag_name -eq $TagName }
|
||||||
|
|
||||||
if (-not $Release) {
|
if (-not $Release) {
|
||||||
$Changelog = Get-Content (Join-Path $ProjectRoot "CHANGELOG.md") -Raw
|
$Utf8NoBom = New-Object System.Text.UTF8Encoding($false)
|
||||||
$Body = @{
|
$Changelog = [System.IO.File]::ReadAllText((Join-Path $ProjectRoot "CHANGELOG.md"), $Utf8NoBom)
|
||||||
|
$PayloadPath = Join-Path $DistDir "release_req.json"
|
||||||
|
$Payload = @{
|
||||||
tag_name = $TagName
|
tag_name = $TagName
|
||||||
name = "Sanctum $TagName (Windows x86_64)"
|
name = "Sanctum $TagName (Windows x86_64)"
|
||||||
body = $Changelog
|
body = $Changelog
|
||||||
draft = $false
|
draft = $false
|
||||||
prerelease = $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
|
Write-Host "[OK] Release $TagName auf Gitea angelegt (ID: $($Release.id))." -ForegroundColor Green
|
||||||
} else {
|
} else {
|
||||||
Write-Host "[INFO] Release $TagName existiert bereits (ID: $($Release.id))." -ForegroundColor Yellow
|
Write-Host "[INFO] Release $TagName existiert bereits (ID: $($Release.id))." -ForegroundColor Yellow
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$UploadUrl = "$GiteaUrl/api/v1/repos/$Owner/$Repo/releases/$($Release.id)/assets"
|
$UploadUrl = "$GiteaUrl/api/v1/repos/$Owner/$Repo/releases/$($Release.id)/assets"
|
||||||
|
|
||||||
# ZIP Asset hochladen
|
# ZIP Asset hochladen
|
||||||
|
|||||||
Reference in New Issue
Block a user