release-cleanup:文件化補齊、日誌格式統一與 CI 自我清理管線(develop → master) #10
+27
-24
@@ -19,30 +19,33 @@ on:
|
||||
types: [opened, synchronize]
|
||||
# 定義所有 jobs
|
||||
jobs:
|
||||
# job 識別碼:AI 程式碼審查
|
||||
ai-code-review:
|
||||
# job 顯示名稱
|
||||
name: AI Code Review
|
||||
# 指定執行環境(runner 標籤),使用 ubuntu runner
|
||||
# 第一個 job: 釋出並標註成品版本,並將版本號往外拋給後續 job 使用。
|
||||
release-tag-version:
|
||||
# job 顯示名稱。
|
||||
name: Release Tag Version
|
||||
# 指定執行環境 (runner) 標籤為 ubuntu。
|
||||
runs-on: ubuntu
|
||||
# 此 job 對 GITHUB_TOKEN 所需的權限範圍
|
||||
permissions:
|
||||
# 允許寫入 repository 內容(供 action 讀取/操作程式碼)
|
||||
contents: write
|
||||
# 允許寫入 Pull Request(供 action 回貼審查留言)
|
||||
pull-requests: write
|
||||
# 允許寫入 issues(PR 留言底層走 issue comment API,需此權限)
|
||||
issues: write
|
||||
# 此 job 的執行步驟
|
||||
# 宣告此 job 的輸出,供後續 needs 此 job 的其他 job 取用。
|
||||
outputs:
|
||||
# 將下方 id 為 release-tag-version 的 step 所輸出的 version,設為此 job 的對外 version 輸出 (關鍵點: 透過 outputs 把標註出的版本往外拋)。
|
||||
version: ${{ steps.release-tag-version.outputs.version }}
|
||||
# 此 job 依序執行的步驟。
|
||||
steps:
|
||||
# 步驟名稱:使用 OpenCode 進行 AI 程式碼審查
|
||||
- name: AI 程式碼審查 by OpenCode
|
||||
# 引用公司 Gitea 上的 composite action `opencode-code-review`,
|
||||
# 版本由 repository/organization 變數 ACTION_OPENCODE_CODE_REVIEW_VERSION 指定,
|
||||
# 便於集中控管所使用的 action 版本
|
||||
uses: https://gitea.jsc.idv.tw/composite-actions/opencode-code-review@${{ vars.ACTION_OPENCODE_CODE_REVIEW_VERSION }}
|
||||
# 傳遞給 composite action 的輸入參數
|
||||
# 步驟: 呼叫 composite action 進行釋出並標註成品版本。
|
||||
- name: 釋出並標註成品版本
|
||||
# 設定此 step 的 id,讓上方 outputs 可用 steps.release-tag-version.outputs.version 取得其輸出。
|
||||
id: release-tag-version
|
||||
# 引用 release-tag-version composite action,版本以變數 vars.ACTION_RELEASE_TAG_VERSION 釘選 (集中於 repo/org 變數管理,便於統一升版)。
|
||||
uses: https://gitea.jsc.idv.tw/composite-actions/release-tag-version@${{ vars.ACTION_RELEASE_TAG_VERSION }}
|
||||
# 傳遞給該 action 的輸入參數。
|
||||
with:
|
||||
# 留言用 token,從 secrets.COMMENT_TOKEN 取得,
|
||||
# 供 action 以該身分將審查結果回貼到 PR 留言
|
||||
comment_token: ${{ secrets.COMMENT_TOKEN }}
|
||||
# is_beta 設為 true 表示走 beta 標版流程 (標註的是 beta 成品版本,而非正式版)。
|
||||
is_beta: true
|
||||
release-cleanup:
|
||||
name: Release Cleanup
|
||||
runs-on: ubuntu
|
||||
needs: release-tag-version
|
||||
steps:
|
||||
- name: 清理舊成品
|
||||
uses: https://gitea.jsc.idv.tw/docker-actions/release-cleanup@v${{ needs.release-tag-version.outputs.version }}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user