Skip to content

ci:workflow 韌性強化(timeout/concurrency/permissions) #348

Description

@as535364

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

  • force-push PR 後,被蓋掉的 CI run 會被取消
  • 快速連續 merge main 時,徽章發佈不再因 non-fast-forward 失敗
  • 三個 workflow 都有 timeout-minutes 與明確的 token permissions

Blocked by

None — can start immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions