fix(cd): P0 並發治理 - force_deploy 獨立 concurrency group

首席架構師審查 2026-03-29:
- 問題: cancel-in-progress: true 導致 force_deploy 被新 push 取消
- 已發生 5+ 次 force deploy 被取消,25 commits 無法部署
- 解決: force_deploy 使用獨立 group,不會被普通 push 取消
- 普通 push 仍互相取消 (防止 Runner 檔案衝突)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
OG T
2026-03-29 16:42:50 +08:00
parent 5ee139749a
commit caaf12e41c

View File

@@ -35,11 +35,16 @@ on:
default: false
concurrency:
group: cd-${{ github.workflow }}-${{ github.ref }}
# 2026-03-29: 改回取消,因為 Runner _diag/pages 衝突發生在 Set up job 階段
# 等待模式 (cancel-in-progress: false) 會導致並行 Job 寫入同一診斷檔
# 取消模式確保同一時間只有一個 workflow 在執行
cancel-in-progress: true
# =======================================================================
# 2026-03-29 首席架構師審查: P0 並發治理
# 問題: cancel-in-progress: true 導致 force_deploy 被新 push 取消
# 解決: force_deploy 使用獨立 concurrency group不會被普通 push 取消
# =======================================================================
group: ${{ inputs.force_deploy && 'cd-force-deploy' || format('cd-{0}-{1}', github.workflow, github.ref) }}
# force_deploy 使用獨立 group普通 push 使用原 group
# 普通 push 互相取消 (防止 Runner 衝突)
# force_deploy 不會被普通 push 取消
cancel-in-progress: ${{ !inputs.force_deploy }}
env:
REGISTRY: 192.168.0.110:5000