What to build
三個 workflow 補上防護:
- CI:job 加 `timeout-minutes`(取近期執行時間約 3 倍);workflow 級 concurrency 設 `cancel-in-progress: ${{ github.event_name == 'pull_request' }}`——force-push 的 PR 取消被蓋掉的 run,但不取消 merge queue(merge_group)的 run;加 `permissions: contents: read`。
- Generate Coverage Badge:timeout;單一 concurrency group 且 cancel-in-progress——目前連續兩次 merge 到 main 會 race gh-pages push 造成 non-fast-forward 失敗;加 `permissions: contents: write`(gh-pages 推送所需)。
- Publish Docker Image:timeout(QEMU arm64 是慢路徑,先抓寬);既有 rolling-image concurrency group 加 cancel-in-progress——只有最新的 latest 有意義。
Acceptance criteria
Blocked by
None — can start immediately.
What to build
三個 workflow 補上防護:
Acceptance criteria
Blocked by
None — can start immediately.