Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73e79f6be8 |
+56
-56
@@ -41,19 +41,19 @@ jobs:
|
||||
is_beta: ${{ env.IS_BETA }}
|
||||
# 定義 build job 的步驟。
|
||||
steps:
|
||||
# 在 Gitea 上建立 release,並讓 tag 與版本對齊。
|
||||
- name: Publishing Release
|
||||
# 使用外部 release action,版本由倉庫變數控制。
|
||||
uses: akkuman/gitea-release-action@${{ vars.ACTION_GITEA_RELEASE_VERSION }}
|
||||
with:
|
||||
# release 名稱包含倉庫名稱與版本號。
|
||||
name: "${{ gitea.event.repository.name }} v${{ env.VERSION }}"
|
||||
# tag 名稱固定使用 v 前綴。
|
||||
tag_name: "v${{ env.VERSION }}"
|
||||
# 對應到目前提交。
|
||||
target_commitish: ${{ gitea.sha }}
|
||||
# beta 分支建立 prerelease,正式分支則不是。
|
||||
prerelease: ${{ env.IS_BETA }}
|
||||
# 在 Gitea 上建立 release,並讓 tag 與版本對齊。
|
||||
- name: Publishing Release
|
||||
# 使用外部 release action,版本由倉庫變數控制。
|
||||
uses: akkuman/gitea-release-action@${{ vars.ACTION_GITEA_RELEASE_VERSION }}
|
||||
with:
|
||||
# release 名稱包含倉庫名稱與版本號。
|
||||
name: "${{ gitea.event.repository.name }} v${{ env.VERSION }}"
|
||||
# tag 名稱固定使用 v 前綴。
|
||||
tag_name: "v${{ env.VERSION }}"
|
||||
# 對應到目前提交。
|
||||
target_commitish: ${{ gitea.sha }}
|
||||
# beta 分支建立 prerelease,正式分支則不是。
|
||||
prerelease: ${{ env.IS_BETA }}
|
||||
|
||||
# test job 以 build 輸出為基礎執行版本計算與 beta 專屬檢查。
|
||||
test:
|
||||
@@ -75,36 +75,36 @@ jobs:
|
||||
version: ${{ steps.calculate-version.outputs.version }}
|
||||
# 定義 test job 的步驟。
|
||||
steps:
|
||||
# 執行 calculate-version action 取得版本號。
|
||||
- name: Run Calculate Version
|
||||
# 用 commit 對應版本的動態 action 版本。
|
||||
id: calculate-version
|
||||
uses: https://gitea.jsc.idv.tw/actions/calculate-version@v${{ env.VERSION }}
|
||||
with:
|
||||
# 將 beta 狀態轉成布林值傳入 action。
|
||||
is_beta: ${{ env.IS_BETA == "true" }}
|
||||
# beta 流程才需要安裝 LLM CLI。
|
||||
- name: Setup LLM CLI
|
||||
# 動態指定 setup action 版本。
|
||||
uses: https://gitea.jsc.idv.tw/actions/setup-${{ vars.ACTION_SETUP_LLM_CLI }}
|
||||
# 只有 beta 分支才執行。
|
||||
if: ${{ env.IS_BETA == 'true' }}
|
||||
with:
|
||||
# 提供 OAuth 憑證給 CLI 安裝流程。
|
||||
oauth: ${{ secrets.LLM_OAUTH }}
|
||||
# beta 流程才執行 AI Code Review。
|
||||
- name: Run AI Code Review
|
||||
# 用倉庫變數指定 action 版本。
|
||||
uses: https://gitea.jsc.idv.tw/actions/ai-code-review@${{ vars.ACTION_AI_CODE_REVIEW_VERSION }}
|
||||
# 步驟 id 供必要時引用輸出。
|
||||
id: ai-code-review
|
||||
# 只有 beta 分支才執行。
|
||||
if: ${{ env.IS_BETA == 'true' }}
|
||||
with:
|
||||
# 提供 token 給 AI review 流程。
|
||||
token: ${{ secrets.TOKEN }}
|
||||
# 指定模型名稱。
|
||||
model: ${{ vars.LLM_NAME }}
|
||||
# 執行 calculate-version action 取得版本號。
|
||||
- name: Run Calculate Version
|
||||
# 用 commit 對應版本的動態 action 版本。
|
||||
id: calculate-version
|
||||
uses: https://gitea.jsc.idv.tw/actions/calculate-version@v${{ env.VERSION }}
|
||||
with:
|
||||
# 將 beta 狀態轉成布林值傳入 action。
|
||||
is_beta: ${{ env.IS_BETA == "true" }}
|
||||
# beta 流程才需要安裝 LLM CLI。
|
||||
- name: Setup LLM CLI
|
||||
# 動態指定 setup action 版本。
|
||||
uses: https://gitea.jsc.idv.tw/actions/setup-${{ vars.ACTION_SETUP_LLM_CLI }}
|
||||
# 只有 beta 分支才執行。
|
||||
if: ${{ env.IS_BETA == 'true' }}
|
||||
with:
|
||||
# 提供 OAuth 憑證給 CLI 安裝流程。
|
||||
oauth: ${{ secrets.LLM_OAUTH }}
|
||||
# beta 流程才執行 AI Code Review。
|
||||
- name: Run AI Code Review
|
||||
# 用倉庫變數指定 action 版本。
|
||||
uses: https://gitea.jsc.idv.tw/actions/ai-code-review@${{ vars.ACTION_AI_CODE_REVIEW_VERSION }}
|
||||
# 步驟 id 供必要時引用輸出。
|
||||
id: ai-code-review
|
||||
# 只有 beta 分支才執行。
|
||||
if: ${{ env.IS_BETA == 'true' }}
|
||||
with:
|
||||
# 提供 token 給 AI review 流程。
|
||||
token: ${{ secrets.TOKEN }}
|
||||
# 指定模型名稱。
|
||||
model: ${{ vars.LLM_NAME }}
|
||||
|
||||
# result job 只在非 beta 流程時,根據 test 的結果再發佈一次 release。
|
||||
result:
|
||||
@@ -124,16 +124,16 @@ jobs:
|
||||
IS_BETA: ${{ needs.build.outputs.is_beta }}
|
||||
# 定義 result job 的步驟。
|
||||
steps:
|
||||
# 再次發佈 release,作為正式結果。
|
||||
- name: Publishing Release
|
||||
# 與 build job 使用相同的 release action 與版本來源。
|
||||
uses: akkuman/gitea-release-action@${{ vars.ACTION_GITEA_RELEASE_VERSION }}
|
||||
with:
|
||||
# release 名稱包含倉庫名稱與最終版本號。
|
||||
name: "${{ gitea.event.repository.name }} v${{ env.VERSION }}"
|
||||
# 使用與 build 相同的 tag 命名方式。
|
||||
tag_name: "v${{ env.VERSION }}"
|
||||
# 指向目前提交。
|
||||
target_commitish: ${{ gitea.sha }}
|
||||
# 這裡再次判斷是否為 beta,正式版時會是 false。
|
||||
prerelease: ${{ env.IS_BETA == "true" }}
|
||||
# 再次發佈 release,作為正式結果。
|
||||
- name: Publishing Release
|
||||
# 與 build job 使用相同的 release action 與版本來源。
|
||||
uses: akkuman/gitea-release-action@${{ vars.ACTION_GITEA_RELEASE_VERSION }}
|
||||
with:
|
||||
# release 名稱包含倉庫名稱與最終版本號。
|
||||
name: "${{ gitea.event.repository.name }} v${{ env.VERSION }}"
|
||||
# 使用與 build 相同的 tag 命名方式。
|
||||
tag_name: "v${{ env.VERSION }}"
|
||||
# 指向目前提交。
|
||||
target_commitish: ${{ gitea.sha }}
|
||||
# 這裡再次判斷是否為 beta,正式版時會是 false。
|
||||
prerelease: ${{ env.IS_BETA == "true" }}
|
||||
|
||||
@@ -29,20 +29,20 @@ jobs:
|
||||
COMMIT_SHA: ${{ gitea.event.commits[1].id }}
|
||||
# 定義 deploy job 的步驟。
|
||||
steps:
|
||||
# 先檢出完整原始碼與 tag 歷史,讓後續可以查詢 tag。
|
||||
- name: Source Code Checkout
|
||||
# 使用 checkout action,版本由倉庫變數控制。
|
||||
uses: actions/checkout@${{ vars.ACTION_CHECKOUT_VERSION }}
|
||||
with:
|
||||
# 取得完整歷史,避免 tag 查詢因淺層 clone 而失敗。
|
||||
fetch-depth: 0
|
||||
# 根據 COMMIT_SHA 找出包含該提交的最新 tag。
|
||||
- name: Get Commit Tag
|
||||
# 將查到的 tag 寫入 Gitea output。
|
||||
id: commit
|
||||
run: >-
|
||||
echo "tag=$(git for-each-ref --sort=-refname --format='%(refname:strip=2)' refs/tags --contains ${{ env.COMMIT_SHA }} | head -n 1)" >> $GITEA_OUTPUT
|
||||
# 將查到的 tag 輸出到日誌,方便人工確認。
|
||||
- name: Show Tag
|
||||
run: >-
|
||||
echo "[DEPLOY][INF][$(TZ='Asia/Taipei' date +'%Y/%m/%d %H:%M:%S')]: ${{ steps.commit.outputs.tag }}"
|
||||
# 先檢出完整原始碼與 tag 歷史,讓後續可以查詢 tag。
|
||||
- name: Source Code Checkout
|
||||
# 使用 checkout action,版本由倉庫變數控制。
|
||||
uses: actions/checkout@${{ vars.ACTION_CHECKOUT_VERSION }}
|
||||
with:
|
||||
# 取得完整歷史,避免 tag 查詢因淺層 clone 而失敗。
|
||||
fetch-depth: 0
|
||||
# 根據 COMMIT_SHA 找出包含該提交的最新 tag。
|
||||
- name: Get Commit Tag
|
||||
# 將查到的 tag 寫入 Gitea output。
|
||||
id: commit
|
||||
run: >-
|
||||
echo "tag=$(git for-each-ref --sort=-refname --format='%(refname:strip=2)' refs/tags --contains ${{ env.COMMIT_SHA }} | head -n 1)" >> $GITEA_OUTPUT
|
||||
# 將查到的 tag 輸出到日誌,方便人工確認。
|
||||
- name: Show Tag
|
||||
run: >-
|
||||
echo "[DEPLOY][INF][$(TZ='Asia/Taipei' date +'%Y/%m/%d %H:%M:%S')]: ${{ steps.commit.outputs.tag }}"
|
||||
|
||||
Reference in New Issue
Block a user