Skip to content

ci:setup 步驟抽成 local composite action #353

Description

@as535364

What to build

CI 與 Generate Coverage Badge 重複同樣四步 setup(裝 poetry → setup-python 3.11 with poetry cache → poetry install),而這正是最容易漂移的部分(Python 版本、action 版本、安裝旗標)。

抽成 repo 內的 composite action,兩個 workflow 改為 checkout → 共用 setup → 各自的 yapf/pytest 步驟——行為步驟保持原樣可見,對外描述的 CI 行為(yapf diff+pytest with coverage)不變。順帶在安裝前加 `poetry check --lock` 做便宜的 pyproject/lock 一致性檢查。

注意:composite 的 `uses: ./…` 必須排在 checkout 之後才解析得到;已評估過 reusable workflow(參數化成本高於刪掉的重複)與維持現狀(升版時要改兩份)兩個替代方案,composite 是小團隊維護成本最低的解。

Acceptance criteria

  • 兩個 workflow 均綠且行為與改前一致
  • Python 版本與安裝步驟只剩單一定義處

Blocked by

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