feat(action): 安裝 Antigravity CLI 並還原 OAuth 憑證

This commit is contained in:
Jeffery
2026-07-17 12:52:10 +08:00
parent 698a005326
commit 283c01941f
+43 -15
View File
@@ -1,22 +1,50 @@
name: 'Gitea Composite Template'
description: 'Gitea Composite 範本'
# ============================================================================
# 用途:安裝 Antigravity CLI,並將 base64 編碼的 OAuth 憑證解碼寫入設定檔的 Gitea Composite Action。
# 更新時間:2026/07/17 11:54:39
# ============================================================================
# action 名稱,會顯示在 Gitea Actions 介面與被引用時的識別
name: 'Setup Antigravity'
# action 用途描述,說明此 action 的功能
description: '安裝 Antigravity CLI 並還原 OAuth 憑證的 Gitea Composite Action'
# action 作者
author: 'Jeffery'
# 輸入參數契約:呼叫端可透過 with 傳入的參數清單
inputs:
message:
description: '輸入訊息'
required: false
default: 'Hello, World!'
outputs:
message:
description: '輸出訊息'
value: ${{ steps.exchange.outputs.message }}
# oauthbase64 編碼的 OAuth 憑證字串,通常由呼叫端以 secret 傳入
oauth:
# 此輸入參數的說明
description: 'base64 編碼的 OAuth 憑證字串(解碼後寫入 Antigravity 憑證檔)'
# 必填;缺少憑證則無法完成設定
required: true
# 執行定義區塊:宣告此 action 的執行方式與步驟
runs:
# 執行型別為 composite(複合式 action,由多個 step 組成)
using: 'composite'
# 依序執行的步驟清單
steps:
- name: Exchange
id: exchange
# 啟動橫幅 step:於 action 開始時輸出名稱/用途/更新時間,方便日誌辨識
- name: 顯示 action 資訊
# 使用 bash 執行 run 內容
shell: bash
env:
MESSAGE: ${{ inputs.message }}
# 輸出啟動橫幅(分隔線與各欄位為刻意設計的啟動輸出,原樣保留)
run: |
echo "message=$MESSAGE" >> "$GITHUB_OUTPUT"
echo "================================================"
echo "Action : Setup Antigravity"
echo "用途 : 安裝 Antigravity CLI 並還原 OAuth 憑證"
echo "更新時間: 2026/07/17 11:54:39"
echo "================================================"
# 安裝 Antigravity CLI(以官方安裝腳本,單行指令;binary 安裝至 ~/.local/bin
- name: 安裝 Antigravity CLI
# 使用 bash 執行 run 內容
shell: bash
# 以官方 install.sh 腳本安裝 Antigravity CLIagy
run: curl -fsSL https://antigravity.google/cli/install.sh | bash
# 將 base64 OAuth 憑證解碼並寫入 Antigravity 憑證檔(單行:建目錄 → 解碼寫檔 → 限縮權限;不輸出憑證內容)
- name: 寫入 OAuth 憑證
# 使用 bash 執行 run 內容
shell: bash
# 環境變數:將輸入參數 oauth 帶入為環境變數供 run 使用(避免直接內嵌於指令列)
env:
OAUTH_B64: ${{ inputs.oauth }}
# 單行完成:mkdir 父目錄、base64 解碼寫入 OAuth token 檔、chmod 600 限縮權限
run: mkdir -p "$HOME/.gemini/antigravity-cli" && printf '%s' "$OAUTH_B64" | base64 -d > "$HOME/.gemini/antigravity-cli/antigravity-oauth-token" && chmod 600 "$HOME/.gemini/antigravity-cli/antigravity-oauth-token"