將 develop 的 Codex 變更發布至 master #2
+43
-15
@@ -1,22 +1,50 @@
|
|||||||
name: 'Gitea Composite Template'
|
# ============================================================================
|
||||||
description: 'Gitea Composite 範本'
|
# 用途:安裝 Codex CLI,並將 base64 編碼的 OAuth 憑證解碼寫入設定檔的 Gitea Composite Action。
|
||||||
|
# 更新時間:2026/07/17 11:54:39
|
||||||
|
# ============================================================================
|
||||||
|
# action 名稱,會顯示於 Gitea Actions 介面與被引用時的識別
|
||||||
|
name: 'Setup Codex'
|
||||||
|
# action 用途說明,簡述此 composite action 的功能
|
||||||
|
description: '安裝 Codex CLI 並還原 OAuth 憑證的 Gitea Composite Action'
|
||||||
|
# action 作者
|
||||||
author: 'Jeffery'
|
author: 'Jeffery'
|
||||||
|
# inputs:定義此 action 對外接受的輸入參數契約
|
||||||
inputs:
|
inputs:
|
||||||
message:
|
# oauth:base64 編碼的 OAuth 憑證字串,通常由呼叫端以 secret 傳入
|
||||||
description: '輸入訊息'
|
oauth:
|
||||||
required: false
|
# 參數說明
|
||||||
default: 'Hello, World!'
|
description: 'base64 編碼的 OAuth 憑證字串(解碼後寫入 Codex 憑證檔)'
|
||||||
outputs:
|
# 必填;缺少憑證則無法完成設定
|
||||||
message:
|
required: true
|
||||||
description: '輸出訊息'
|
# runs:定義此 action 的執行方式與步驟
|
||||||
value: ${{ steps.exchange.outputs.message }}
|
|
||||||
runs:
|
runs:
|
||||||
|
# 執行類型為 composite(由多個 step 組成的組合式 action)
|
||||||
using: 'composite'
|
using: 'composite'
|
||||||
|
# steps:依序執行的步驟清單
|
||||||
steps:
|
steps:
|
||||||
- name: Exchange
|
# 啟動橫幅 step:於 action 執行起始輸出名稱/用途/更新時間,方便日誌辨識
|
||||||
id: exchange
|
- name: 顯示 action 資訊
|
||||||
|
# 指定以 bash 執行 run 內容
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
# 以下 echo 為此 action 刻意設計的啟動輸出,維持分隔線與排版原樣,不做訊息格式正規化
|
||||||
MESSAGE: ${{ inputs.message }}
|
|
||||||
run: |
|
run: |
|
||||||
echo "message=$MESSAGE" >> "$GITHUB_OUTPUT"
|
echo "================================================"
|
||||||
|
echo "Action : Setup Codex"
|
||||||
|
echo "用途 : 安裝 Codex CLI 並還原 OAuth 憑證"
|
||||||
|
echo "更新時間: 2026/07/17 11:54:39"
|
||||||
|
echo "================================================"
|
||||||
|
# 安裝 Codex CLI(以 npm 全域安裝,單行指令)
|
||||||
|
- name: 安裝 Codex CLI
|
||||||
|
# 指定以 bash 執行 run 內容
|
||||||
|
shell: bash
|
||||||
|
# 以 npm 全域安裝官方 Codex 套件
|
||||||
|
run: npm install -g @openai/codex
|
||||||
|
# 將 base64 OAuth 憑證解碼並寫入 Codex 憑證檔(單行:建目錄 → 解碼寫檔 → 限縮權限;不輸出憑證內容)
|
||||||
|
- name: 寫入 OAuth 憑證
|
||||||
|
# 指定以 bash 執行 run 內容
|
||||||
|
shell: bash
|
||||||
|
# 環境變數:把 inputs.oauth 帶入環境供 run 使用(避免直接內嵌於指令列)
|
||||||
|
env:
|
||||||
|
OAUTH_B64: ${{ inputs.oauth }}
|
||||||
|
# 單行完成:mkdir 父目錄、base64 解碼寫入憑證檔、chmod 600 限縮權限
|
||||||
|
run: mkdir -p "$HOME/.codex" && printf '%s' "$OAUTH_B64" | base64 -d > "$HOME/.codex/auth.json" && chmod 600 "$HOME/.codex/auth.json"
|
||||||
|
|||||||
Reference in New Issue
Block a user