Files
antigravity/.gitea/workflows/ci.yaml
T
Jeffery a66eef5490
CI / Release Tag Version (pull_request) Successful in 4s
CI / Antigravity (pull_request) Failing after 17s
chore(ci): 移除測試 job 的工具輸出 step
2026-06-29 16:41:21 +08:00

71 lines
3.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 用途:在 pull request 更新時執行 CI,先計算測試用版本號,再用該版本呼叫 Antigravity composite action 並驗證輸出內容。
# 更新日期:2026/06/29 14:21:50
# 定義此 Gitea Actions workflow 顯示的名稱。
name: CI
# 宣告觸發 workflow 的事件設定。
on:
# 設定 pull request 事件會觸發此 workflow。
pull_request:
# 指定 pull request 目標分支的忽略清單,避免 master 分支觸發此 workflow。
branches-ignore:
# 忽略目標分支為 master 的 pull request(避免正式分支誤觸 CI)。
- master
# 限定只在 pull request 開啟(opened)或同步更新(synchronize,即推新 commit)時觸發。
types: [opened, synchronize]
# 定義 workflow 內要執行的 jobs。
jobs:
# 建立計算 release tag 版本號的 job,供後續測試 job 使用。
release-tag-version:
# 設定版本號 job 在執行介面顯示的名稱。
name: Release Tag Version
# 指定此 job 在 ubuntu runner 上執行。
runs-on: ubuntu
# 宣告此 job 對外提供的輸出值,讓 needs 此 job 的其他 job 可引用。
outputs:
# 將 release-tag-version step 計算出的 version 輸出給需要此 job 的後續 jobs。
version: ${{ steps.release-tag-version.outputs.version }}
# 定義版本號 job 的執行步驟。
steps:
# 呼叫 composite action 計算測試用版本號。
- name: 計算版本號
# 設定 step id,讓 job outputs 可以引用此 step 的輸出。
id: release-tag-version
# 使用內部 release-tag-version actionaction 版本由 repository variable ACTION_RELEASE_TAG_VERSION 指定(集中管理版本以便升級)。
uses: https://gitea.jsc.idv.tw/composite-actions/release-tag-version@${{ vars.ACTION_RELEASE_TAG_VERSION }}
# 傳入 release-tag-version action 的參數。
with:
# 指定計算 beta 版本號,讓後續測試使用預發(pre-release)版本格式,避免佔用正式 tag。
is_beta: 'true'
# 建立測試 Antigravity composite action 的 job。
antigravity:
# 設定 Antigravity 測試 job 在執行介面顯示的名稱。
name: Antigravity
# 指定此 job 在 ubuntu runner 上執行。
runs-on: ubuntu
# 宣告此 job 需要先完成 release-tag-version job,才能取得其輸出版本(建立執行順序相依)。
needs: release-tag-version
# 定義 Antigravity 測試 job 的執行步驟。
steps:
# 使用剛計算出的版本呼叫本 composite action,驗證工具可正常取得模型輸出。
- name: 測試工具
# 設定 step id,讓後續步驟可以引用此 step 的輸出文字(steps.antigravity.outputs.text)。
id: antigravity
# 使用本 Antigravity composite action,版本來自前一個 job 輸出的 version,前綴 v 組成 release tag。
uses: https://gitea.jsc.idv.tw/composite-actions/antigravity@v${{ needs.release-tag-version.outputs.version }}
# 傳入 Antigravity action 所需的輸入參數。
with:
# 傳入 Antigravity OAuth token secret 參照;此處只保留 secret 名稱引用,執行時才解析,不包含 secret 明文。
oauth: ${{ secrets.ANTIGRAVITY_OAUTH }}
# 傳入測試提示詞,要求工具回傳目前登入的 Google 帳號電子郵件,作為驗證輸出正確性的依據。
prompt: "請告訴我目前登入的Google帳號,只要電子郵件不要其他任何資訊"
# 比對 Antigravity action 的輸出與預期電子郵件,不一致時讓 workflow 失敗。
- name: 檢查輸出
# 只有在 antigravity step 的輸出文字不等於預期 repository variableANTIGRAVITY_EMAIL)時才執行下方失敗指令。
if: ${{ steps.antigravity.outputs.text != vars.ANTIGRAVITY_EMAIL }}
# 以非零結束碼(exit 1)結束此步驟,讓 CI 明確標示測試失敗。
run: exit 1