feat(portable): 便携版更新检测 — config-server 加 /api/update-status + check/publish 脚本 + CI 剥 BOM
config-server 新增 /api/update-status 和 /api/update-check,读取 check-update.mjs 写入的 update-available.json,便携版可提示有无新版本。publish-latest.mjs 用于 发布端生成 manifest。release.yml 顺手修打包时 .bat 的 UTF-8 BOM(BOM 会让 cmd.exe 把首条命令认错报 not internal/external command)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@@ -129,6 +129,10 @@ jobs:
|
||||
# Windows batch files MUST be CRLF — cmd.exe mis-parses LF-only files
|
||||
find "$stage_dir" -type f \( -name '*.bat' -o -name '*.cmd' -o -name '*.ps1' \) -print0 \
|
||||
| xargs -0 -I {} sh -c 'sed -i "s/\r$//; s/$/\r/" "{}"'
|
||||
# Strip UTF-8 BOM from .bat files — cmd.exe interprets BOM as
|
||||
# part of the first command and reports "not internal/external command"
|
||||
find "$stage_dir" -type f \( -name '*.bat' -o -name '*.cmd' \) -print0 \
|
||||
| xargs -0 -I {} sh -c 'sed -i "1s/^\xef\xbb\xbf//" "{}"'
|
||||
# Ensure shell scripts stay LF (mac/linux double-click won't run otherwise)
|
||||
find "$stage_dir" -type f \( -name '*.sh' -o -name '*.command' -o -name '*.mjs' -o -name '*.js' \) -print0 \
|
||||
| xargs -0 -I {} sh -c 'sed -i "s/\r$//" "{}"'
|
||||
|
||||
Reference in New Issue
Block a user