Commit Graph
12 Commits
Author SHA1 Message Date
JefferyandClaude Opus 4.8 a9d137ac9e test(calculate-version): 補強測試覆蓋並拆分混合測試案例
- 新增 logger section/info/error 的輸出格式測試
- config 補上 GITEA_REPOSITORY 驗證測試,並拆分 isUnset/requireEnv 的正反例
- version 補回 compareVersionArrays 的 major 跨區段比較案例

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 14:01:30 +08:00
JefferyandClaude Opus 4.8 b8804c5218 fix(calculate-version): 強化輸入驗證與錯誤訊息
- config 對 GITEA_REPOSITORY 加入 owner/repo 格式驗證,拒絕路徑穿越與特殊字元
- releases JSON 解析失敗時,錯誤訊息納入截斷的回傳內容片段以利除錯

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 14:01:30 +08:00
Jeffery 0977e66ff4 test(calculate-version): 整併單元測試至 app/test 並移除無法被執行的重複測試目錄
CI / AI Code Review (pull_request) Successful in 38s
app/package.json 的 npm test(node --test,cwd 為 app/)只會探索 app/test/,
repo 根目錄另一份 test/ 中的 main 整合測試(index.test.js)因此從未被執行。
將 config/index/releases/version 收斂至 app/test/(修正 require 路徑),
保留 output 測試,移除重複且無法執行的 repo 根 test/。現 app/test/ 共 34 筆測試皆可執行。
2026-06-26 11:18:53 +08:00
JefferyandClaude Opus 4.8 6f95a3fbe6 chore(ai-review 狀態): 更新 findings.json 與 exclusions.json
CI / AI Code Review (pull_request) Successful in 38s
已解決 1 條(warning:補 JSON 解析失敗測試),其餘 5 條判定為誤報寫入 exclusions(critical x2 重複項、warning x2、info x1),findings 清空。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:59:32 +08:00
JefferyandClaude Opus 4.8 e54805b241 test(calculate-version): 補上 release JSON 解析失敗路徑測試
新增 fetchReleases 收到無法解析 JSON 時拋出「回傳資料無法解析」的測試案例。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:59:32 +08:00
JefferyandClaude Opus 4.8 43601350b0 chore(ai-review 狀態): 更新 findings.json 與 exclusions.json
CI / AI Code Review (pull_request) Failing after 44s
已解決 6 條(critical x4、warning x1、info x1),4 條判定為誤報寫入 exclusions(warning x3、info x1),findings 清空。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:52:19 +08:00
JefferyandClaude Opus 4.8 fb760004fd docs(calculate-version): 更新 README 對齊錯誤處理重構
logger.fail 改為 logger.error、新增 index.main 公開函式說明,並更新對應行號與使用範例。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:52:19 +08:00
JefferyandClaude Opus 4.8 3c8704d1a3 test(calculate-version): 補上 GITEA_SERVER_URL 驗證與 main 失敗路徑測試
新增 config 的 URL 格式/協定驗證測試,以及以相依注入覆蓋 main 成功與 loadConfig/fetchReleases 失敗路徑的整合測試。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:52:19 +08:00
JefferyandClaude Opus 4.8 fdf33b41d8 fix(calculate-version): 修復 AI 審查的安全與健全性問題
- Dockerfile 移除 --no-check-certificate,恢復 TLS 憑證檢查以防中間人攻擊
- config 對 GITEA_SERVER_URL 加入 http/https URL 格式驗證
- logger.fail 改為 logger.error(僅輸出不終止行程),退出移至 index 頂層處理
- index.main 改用相依注入並於頂層攔截錯誤後 exit 1,避免 library 內呼叫 process.exit
- releases 將 response.text() 包入 try-catch 並附帶頁碼

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:52:19 +08:00
JefferyandClaude Opus 4.8 6f9df6743c docs(calculate-version): 新增 README 並補上 entrypoint/CI/CD 註解
CI / AI Code Review (pull_request) Failing after 57s
依 doc-funcs 產生 README(專案列表、功能列表、使用範例),並為 CI/CD workflow 補上逐行註解。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:41:34 +08:00
JefferyandClaude Opus 4.8 923c94d198 test(calculate-version): 新增 version/config/releases 單元測試
以 node:test 為 app/ 模組補上 24 個單元測試,涵蓋版本計算、設定載入與 release 分頁抓取。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:41:34 +08:00
JefferyandClaude Opus 4.8 bd6b6017ab refactor(calculate-version): 將版本計算邏輯由 bash 改寫為 Node.js 並依功能分檔
保留 entrypoint.sh 作為容器進入點,改為啟動 app/ 下的 Node.js 程式;
依功能拆分為 logger/config/version/releases/output/index,並更新 Dockerfile 改用 node:lts-alpine。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 10:41:34 +08:00