chore: helm-release のリリース判定を registry/tag/release の3独立フラグに分離
Helm Chart Release / release-chart (push) Successful in 5s

「Registry 発行済み」と「タグ/リリース作成」が同一フラグに束ねられていたため、
タグ push だけ失敗しても回復できなかった。各成果物を個別に冪等チェックし、
不足分だけを作る構造に変更。途中失敗しても次の push で自己修復する。
タグ有無は git ls-remote でリモート基準に確認。
This commit is contained in:
2026-09-08 13:37:04 +09:00
parent e7792211df
commit 13cb27a5ec
3 changed files with 102 additions and 62 deletions
+10 -4
View File
@@ -312,10 +312,16 @@ Secret 更新時に自動でローリング再起動されます。
`.gitea/workflows/helm-release.yaml` の 1 本のみ。`main` への push(`Chart.yaml` /
`values.yaml` / `values.schema.json` / `templates/**` 変更時)と手動実行で発火し、
`helm lint --strict` → **現在の `version` が Package Registry に未公開のときだけ**
リリースする(公開済みなら何もしない。README・examples だけの変更ではリリースされない)。
リリース内容は **Package Registry への発行 + Git タグ `v<version>` + Gitea リリース
(`.tgz` 添付)**。
`helm lint --strict` のあと、次の 3 つの成果物を **それぞれ独立に冪等チェック**して、
不足しているものだけを作る:
1. **Package Registry** — `Chart.yaml` の `version` が未登録なら `.tgz` を発行
2. **Git タグ `v<version>`** — リモートに無ければ作成して push
3. **Gitea リリース** — 同名リリースが無ければ作成(`.tgz` 添付)
3 つすべて揃っていれば何もしない(README・examples だけの変更ではリリースされない)。
独立チェックなので、いずれかのステップだけ失敗しても次の push で不足分だけが
再実行されて自己修復する。
> **上流イメージの週次自動追従は行わない** — 他チャート(phpfpm・n8n 等)は
> `image-update-and-release.yaml` で Docker Hub の最新イメージを毎週チェックしバージョンを