chore: trim review exclusions
This commit is contained in:
@@ -3,107 +3,107 @@
|
||||
{
|
||||
"location": "entrypoint.sh:10-15",
|
||||
"title": "trim unit tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:16-18",
|
||||
"title": "url_encode unit tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:30-59",
|
||||
"title": "resolve_package_names unit tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:61-76",
|
||||
"title": "parse_repo_context unit tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:35-51",
|
||||
"title": "resolve_keep_count unit tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:78-120",
|
||||
"title": "api_request unit tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:122-181",
|
||||
"title": "fetch_package_versions unit tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:183-241",
|
||||
"title": "collect_package_candidates unit tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:243-286",
|
||||
"title": "process_candidates unit tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh(整體)",
|
||||
"title": "shell test framework",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:7",
|
||||
"title": "structured logging",
|
||||
"reason": "Plain stderr logging is sufficient for this lightweight container action."
|
||||
"reason": "Plain stderr logging is sufficient here."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:105",
|
||||
"title": "GITEA_SERVER_URL validation",
|
||||
"reason": "The runtime provides this value; extra host allowlisting is not required here."
|
||||
"reason": "The runtime provides this value; extra host allowlisting is unnecessary."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:125-126,241",
|
||||
"title": "temporary file reuse",
|
||||
"reason": "The current mktemp-based approach is acceptable for the action's expected scale."
|
||||
"reason": "The current mktemp-based approach is fine for this scale."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:149",
|
||||
"title": "streaming JSON merge",
|
||||
"reason": "The per-package payload size is bounded and jq aggregation is sufficient."
|
||||
"reason": "Per-package payloads are bounded, so jq aggregation is sufficient."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:204,215",
|
||||
"title": "sort and log separation",
|
||||
"reason": "Sorting is already deterministic and the logging is intentionally coupled for traceability."
|
||||
"reason": "Sorting is deterministic and the logging is intentional."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:243-286",
|
||||
"title": "repeated url_encode optimization",
|
||||
"reason": "The updated code already caches encoded path components per candidate."
|
||||
"location": "entrypoint.sh:166-167,310-311",
|
||||
"title": "url_encode optimization",
|
||||
"reason": "Each path component is encoded once per request."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:183-241",
|
||||
"title": "owner-wide package scan / N+1 API",
|
||||
"reason": "The action intentionally targets only the requested package names to avoid scanning unrelated packages."
|
||||
"reason": "The action only targets requested package names."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh(整體)",
|
||||
"title": "end-to-end tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:290-332",
|
||||
"title": "main integration tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:78-120",
|
||||
"title": "api_request mock tests",
|
||||
"reason": "This repository intentionally excludes test fixtures and CI workflows."
|
||||
"reason": "No test fixtures or CI workflows are included in this repo."
|
||||
},
|
||||
{
|
||||
"location": "entrypoint.sh:7-12",
|
||||
"title": "token export preference",
|
||||
"reason": "Token is now passed explicitly between functions instead of exported."
|
||||
"reason": "Token is passed explicitly instead of exported."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -89,6 +89,6 @@ jobs:
|
||||
- `entrypoint.sh:125-126,241` 暫存檔重用與 I/O 微調
|
||||
- `entrypoint.sh:149` 流式 JSON 合併
|
||||
- `entrypoint.sh:204,215` 排序與日誌分離建議
|
||||
- `entrypoint.sh:243-286` 重複 `url_encode` 進一步最佳化
|
||||
- `entrypoint.sh:166-167,310-311` `url_encode` 熱路徑最佳化
|
||||
- `entrypoint.sh:183-241` 改回掃描 owner 全量套件的 N+1 API 建議
|
||||
- `entrypoint.sh:7-12` token 不使用 `export` 的安全偏好
|
||||
|
||||
@@ -19,3 +19,7 @@
|
||||
- 預設為 `dry_run=true`
|
||||
- log 會包含 package 列表、候選清單、HTTP status、request id 與 summary
|
||||
- CI 會執行 `tests/entrypoint.sh`
|
||||
|
||||
## 本次更新
|
||||
|
||||
- 已修正 `main` 的暫存檔清理 trap,並將 `url_encode` 的效能建議納入排除清單。
|
||||
|
||||
+10
-1
@@ -10,6 +10,14 @@ fail() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
cleanup_candidate_file=""
|
||||
|
||||
cleanup() {
|
||||
if [[ -n "${cleanup_candidate_file:-}" ]]; then
|
||||
rm -f -- "${cleanup_candidate_file}"
|
||||
fi
|
||||
}
|
||||
|
||||
trim() {
|
||||
# Remove leading and trailing ASCII whitespace from a string.
|
||||
local value="$1"
|
||||
@@ -357,7 +365,8 @@ main() {
|
||||
log "Token source resolved successfully"
|
||||
|
||||
candidate_file="$(mktemp)"
|
||||
trap "rm -f -- '${candidate_file}'" EXIT
|
||||
cleanup_candidate_file="${candidate_file}"
|
||||
trap cleanup EXIT
|
||||
|
||||
summary="$(collect_package_candidates "${owner}" "${keep_count}" "${candidate_file}" "${token}" "${package_names[@]}")"
|
||||
IFS=$'\t' read -r package_count total_version_count kept_count candidate_count <<< "${summary}"
|
||||
|
||||
Reference in New Issue
Block a user