Skip to content

Commit f0ceaa7

Browse files
committed
Add force rebuild option to workflow_dispatch
1 parent 1966537 commit f0ceaa7

1 file changed

Lines changed: 18 additions & 6 deletions

File tree

.github/workflows/release.yml

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ on:
66
branches: [master]
77
paths:
88
- "ReciPro/Version.cs"
9-
workflow_dispatch: # GitHub Actions UI から手動トリガー可能
9+
workflow_dispatch:
10+
inputs:
11+
force:
12+
description: "既存リリースを削除してリビルドする"
13+
type: boolean
14+
default: false
1015

1116
permissions:
1217
contents: write
@@ -33,14 +38,21 @@ jobs:
3338
$ver = $Matches[1]
3439
$tag = "v.$ver"
3540
36-
# 同じバージョンのリリースが既にあればスキップ
41+
# 同じバージョンのリリースが既にあればスキップ (force 時は既存を削除して続行)
3742
gh release view $tag 2>&1 | Out-Null
3843
$releaseExists = ($LASTEXITCODE -eq 0)
39-
$global:LASTEXITCODE = 0 # gh の exit code をリセット
44+
$global:LASTEXITCODE = 0
4045
if ($releaseExists) {
41-
Write-Host "Release $tag already exists. Skipping."
42-
"needed=false" >> $env:GITHUB_OUTPUT
43-
return
46+
if ("${{ inputs.force }}" -eq "true") {
47+
Write-Host "Force mode: deleting existing release $tag..."
48+
gh release delete $tag --yes
49+
git push origin :refs/tags/$tag 2>&1 | Out-Null
50+
$global:LASTEXITCODE = 0
51+
} else {
52+
Write-Host "Release $tag already exists. Skipping."
53+
"needed=false" >> $env:GITHUB_OUTPUT
54+
return
55+
}
4456
}
4557
4658
# History の先頭行をリリースノートに使う

0 commit comments

Comments
 (0)