移除 RUNNER_TOKEN 輸入,一律改用 Gitea 自動 token #3

Merged
admin merged 2 commits from ai-review-resolve/develop-20260715-112031 into develop 2026-07-15 04:02:04 +00:00
Member

變更摘要

移除 RUNNER_TOKEN 輸入參數,token 來源統一為 Gitea runtime 自動核發的 ${{ gitea.token }}。自動 token 對當前 repo 具讀寫權限、job 結束即失效,已足夠本 action 全部四支 API(列出/刪除 release、列出/刪除 tag)的需求;實際 CI 執行也已驗證可正常刪除舊版 release 與 tag。

變更內容

action.yml

  • 移除 RUNNER_TOKEN input,呼叫端不再需要(也無法)傳入 token
  • env 由三段回退鏈 inputs.RUNNER_TOKEN || secrets.GITEA_TOKEN || secrets.RUNNER_TOKEN 簡化為 GITEA_TOKEN: ${{ gitea.token }}

src/index.js

  • 環境變數讀取與 log 訊息同步改名 RUNNER_TOKENGITEA_TOKEN(token 遮罩輸出 [redacted] 行為不變)

影響範圍

  • 既有呼叫端(如本 repo ci.yaml)原本就未帶 token 參數,行為完全不變
  • 若有其他 workflow 曾以 with: RUNNER_TOKEN: ... 傳入自訂 token,該參數將被忽略;跨 repo 清理需求需另行評估

風險與注意事項

  • 權限面較先前更收斂(永遠使用最小權限的自動 token),無新增風險
  • 受 tag 保護規則限制的 tag 仍無法刪除,屬既有行為

驗證

  • 全專案 grep 無 RUNNER_TOKEN 殘留
  • node --check 通過;煙霧測試確認無 token 時輸出 GITEA_TOKEN is empty; release API calls will be anonymous 警告
## 變更摘要 移除 `RUNNER_TOKEN` 輸入參數,token 來源統一為 Gitea runtime 自動核發的 `${{ gitea.token }}`。自動 token 對當前 repo 具讀寫權限、job 結束即失效,已足夠本 action 全部四支 API(列出/刪除 release、列出/刪除 tag)的需求;實際 CI 執行也已驗證可正常刪除舊版 release 與 tag。 ## 變更內容 ### `action.yml` - 移除 `RUNNER_TOKEN` input,呼叫端不再需要(也無法)傳入 token - env 由三段回退鏈 `inputs.RUNNER_TOKEN || secrets.GITEA_TOKEN || secrets.RUNNER_TOKEN` 簡化為 `GITEA_TOKEN: ${{ gitea.token }}` ### `src/index.js` - 環境變數讀取與 log 訊息同步改名 `RUNNER_TOKEN` → `GITEA_TOKEN`(token 遮罩輸出 `[redacted]` 行為不變) ## 影響範圍 - 既有呼叫端(如本 repo `ci.yaml`)原本就未帶 token 參數,行為完全不變 - 若有其他 workflow 曾以 `with: RUNNER_TOKEN: ...` 傳入自訂 token,該參數將被忽略;跨 repo 清理需求需另行評估 ## 風險與注意事項 - 權限面較先前更收斂(永遠使用最小權限的自動 token),無新增風險 - 受 tag 保護規則限制的 tag 仍無法刪除,屬既有行為 ## 驗證 - 全專案 grep 無 `RUNNER_TOKEN` 殘留 - `node --check` 通過;煙霧測試確認無 token 時輸出 `GITEA_TOKEN is empty; release API calls will be anonymous` 警告
jiantw83 added 1 commit 2026-07-15 03:21:35 +00:00
refactor(cleanup-release): 移除 RUNNER_TOKEN 輸入,一律改用 Gitea 自動 token
CI / 2. TEST (pull_request) Successful in 3m55s
CI / 3. RESULT (pull_request) Successful in 1s
CI / 1. BUILD (pull_request) Successful in 2s
adab16fb45
- action.yml 移除 RUNNER_TOKEN input 與 secrets 回退鏈,env 簡化為 GITEA_TOKEN: ${{ gitea.token }}
- src/index.js 環境變數與 log 訊息同步改名為 GITEA_TOKEN,遮罩行為不變
- 自動 token 權限僅限當前 repo 且 job 結束即失效,已足夠本 action 的 release/tag 清理需求

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Owner

🤖 AI Code Review 團隊

👤 角色 🎯 面向 🧠 個性
🗡️ Assassin security 多疑偏執、以攻擊者視角看世界,假設每筆輸入都是惡意的,每個信任都會被濫用
🎼 Bard style 唯美龜毛、追求優雅,把可讀性與一致性當作旋律,最受不了走調的命名與排版
🧰 Leo maintainability 有遠見、重視長期維護成本,凡事先問「六個月後的自己還看得懂嗎?」,討厭把債留給未來
🔮 Mage logic 嚴謹冷靜、滴水不漏,凡事推演到最壞情況,深信「沒驗證過的假設都是 bug」
🧪 Maya testing 對測試覆蓋率有執念,深信「沒有測試的程式碼等於沒寫完」,溫和但堅持,最在意邊界與失敗路徑
Rogue efficiency 急性子、講求速度,最痛恨被浪費的 CPU 週期與記憶體,凡事先問「這能不能更快、更省」

🔍 服務:codex 模型:gpt-5.4-mini

## 🤖 AI Code Review 團隊 | 👤 角色 | 🎯 面向 | 🧠 個性 | |--------|--------|--------| | **🗡️ Assassin** | security | 多疑偏執、以攻擊者視角看世界,假設每筆輸入都是惡意的,每個信任都會被濫用 | | **🎼 Bard** | style | 唯美龜毛、追求優雅,把可讀性與一致性當作旋律,最受不了走調的命名與排版 | | **🧰 Leo** | maintainability | 有遠見、重視長期維護成本,凡事先問「六個月後的自己還看得懂嗎?」,討厭把債留給未來 | | **🔮 Mage** | logic | 嚴謹冷靜、滴水不漏,凡事推演到最壞情況,深信「沒驗證過的假設都是 bug」 | | **🧪 Maya** | testing | 對測試覆蓋率有執念,深信「沒有測試的程式碼等於沒寫完」,溫和但堅持,最在意邊界與失敗路徑 | | **⚡ Rogue** | efficiency | 急性子、講求速度,最痛恨被浪費的 CPU 週期與記憶體,凡事先問「這能不能更快、更省」 | > 🔍 服務:codex 模型:gpt-5.4-mini
admin reviewed 2026-07-15 03:25:32 +00:00
admin left a comment
Owner

AI Code Review 統計

類型 🔴 嚴重 🟡 警告 🔵 建議 無法標示
新問題 0 筆 2 筆 0 筆 0 筆
舊問題 0 筆 0 筆 0 筆 0 筆

🤖 AI 助理使用量

本次審查(codex / gpt-5.4-mini,共 12 次呼叫)

提示 token 回應 token 合計
0 0 0

剩餘可用

剩餘可用:無法計算百分比(未支援 codex 額度查詢)

## AI Code Review 統計 | 類型 | 🔴 嚴重 | 🟡 警告 | 🔵 建議 | ⚪ 無法標示 | | --- | --- | --- | --- | --- | | 新問題 | 0 筆 | 2 筆 | 0 筆 | 0 筆 | | 舊問題 | 0 筆 | 0 筆 | 0 筆 | 0 筆 | ## 🤖 AI 助理使用量 **本次審查**(codex / gpt-5.4-mini,共 12 次呼叫) | 提示 token | 回應 token | 合計 | | --- | --- | --- | | 0 | 0 | 0 | **剩餘可用** 剩餘可用:無法計算百分比(未支援 codex 額度查詢)
admin reviewed 2026-07-15 03:25:32 +00:00
@@ -425,2 +424,3 @@
warn('RUNNER_TOKEN is empty; release API calls will be anonymous');
if (isEmptyOrNull(GITEA_TOKEN)) {
warn('GITEA_TOKEN is empty; release API calls will be anonymous');
} else {
Owner

嚴重等級🟡 警告
審查員:Maya
問題:有 token 時會改成記錄 redacted 訊息並建立 Authorization header,但目前看不到任何測試在保護這個授權分支;一旦 header 格式或遮蔽輸出出錯,就可能讓 API 請求失敗或把敏感值寫進 log。
建議:補一個有 token 的案例,驗證 log 只會出現 [redacted],而實際送出的 header 會是 token ${GITEA_TOKEN},同時不要把明文 token 暴露到輸出中。

**嚴重等級**:🟡 警告 **審查員**:Maya **問題**:有 token 時會改成記錄 redacted 訊息並建立 `Authorization` header,但目前看不到任何測試在保護這個授權分支;一旦 header 格式或遮蔽輸出出錯,就可能讓 API 請求失敗或把敏感值寫進 log。 **建議**:補一個有 token 的案例,驗證 log 只會出現 `[redacted]`,而實際送出的 header 會是 `token ${GITEA_TOKEN}`,同時不要把明文 token 暴露到輸出中。
admin added 1 commit 2026-07-15 03:25:34 +00:00
chore: update ai-review findings [ai-review-bot][success]
CI / 1. BUILD (pull_request) Successful in 2s
CI / 2. TEST (pull_request) Successful in 36s
CI / 3. RESULT (pull_request) Successful in 1s
779701adb2
admin merged commit cd35d8b4ea into develop 2026-07-15 04:02:04 +00:00
admin deleted branch ai-review-resolve/develop-20260715-112031 2026-07-15 04:02:04 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: actions/cleanup-release#3