Hacer idempotente la creacion de release (borra release/tag previos si el tag no cambio)
Build Fritzing on Windows / build (push) Has been cancelled

This commit is contained in:
2026-08-31 16:48:32 +02:00
parent 0d380db080
commit ad227fbc72
+31
View File
@@ -723,6 +723,37 @@ jobs:
run: | run: |
$headers = @{ Authorization = "token $env:GITEA_TOKEN" } $headers = @{ Authorization = "token $env:GITEA_TOKEN" }
# Si ya existe una release con este tag (p.ej. se relanzo el
# workflow sin cambios de version en fritzing-app), se borra
# primero para dejar el paso idempotente.
try {
$existing = Invoke-RestMethod `
-Uri "$env:GITEA_API/releases/tags/$env:FRITZING_VER" `
-Headers $headers `
-Method Get
Write-Host "Release $env:FRITZING_VER ya existe (id $($existing.id)), se borra para recrearla"
Invoke-RestMethod `
-Uri "$env:GITEA_API/releases/$($existing.id)" `
-Headers $headers `
-Method Delete
} catch {
Write-Host "No habia release previa para $env:FRITZING_VER"
}
# Tambien se borra el tag git subyacente si quedo de una release
# anterior, para que la creacion de abajo no choque con el.
try {
Invoke-RestMethod `
-Uri "$env:GITEA_API/tags/$env:FRITZING_VER" `
-Headers $headers `
-Method Delete
Write-Host "Tag $env:FRITZING_VER previo borrado"
} catch {
Write-Host "No habia tag previo para $env:FRITZING_VER"
}
$releaseBody = @{ $releaseBody = @{
tag_name = $env:FRITZING_VER tag_name = $env:FRITZING_VER
name = "Fritzing $env:FRITZING_VER" name = "Fritzing $env:FRITZING_VER"