Hacer idempotente la creacion de release (borra release/tag previos si el tag no cambio)
Build Fritzing on Windows / build (push) Has been cancelled
Build Fritzing on Windows / build (push) Has been cancelled
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user