chore: 官网拆分 homepage + 关于页瘦身 + 端口 5175(当前可用状态基线)

This commit is contained in:
Logan.Li committed 2026-10-14 20:31:51 +08:00
1 parent 5eb11826db
commit be151cb68f
85 files changed
+4420 -1530

No files matched your search

+24 -36
View File
@@ -42,6 +42,7 @@ OpsXShell 原生安装包构建脚本
- 显式传入新版本时,会同步 package.json、package-lock.json、
Cargo.toml、Cargo.lock 和 tauri.conf.json,但不会创建或推送 Git tag。
- Windows 包必须在 Windows 上构建;macOS 包必须在 macOS 上构建;Linux 包必须在 Linux 上构建。
- 安装包留在 Tauri 标准目录 src-tauri/target/<triple>/release/bundle/,不拷到仓库根 release/。
- 正式签名构建请先设置 REQUIRE_SIGNING=true 及对应签名环境变量。
EOF
}
@@ -198,12 +199,8 @@ fi
BUNDLE_ROOT="${CARGO_TARGET_DIR:-$ROOT_DIR/src-tauri/target}/$RUST_TARGET/release/bundle"
node scripts/verify-release.mjs "$RELEASE_PLATFORM" "$BUNDLE_ROOT"
OUTPUT_DIR="$ROOT_DIR/release/v$VERSION/$OUTPUT_PLATFORM"
rm -rf "$OUTPUT_DIR"
mkdir -p "$OUTPUT_DIR"
# 产物留在 Tauri 标准目录,不再拷到仓库根 release/
shopt -s nullglob
COPIED_ARTIFACTS=()
if [ "$RELEASE_PLATFORM" = "macos" ]; then
SOURCE_ARTIFACTS=("$BUNDLE_ROOT"/dmg/*.dmg)
elif [ "$RELEASE_PLATFORM" = "linux" ]; then
@@ -213,39 +210,30 @@ else
fi
[ "${#SOURCE_ARTIFACTS[@]}" -gt 0 ] || fail "构建完成但未找到安装包:$BUNDLE_ROOT"
checksum_line() {
local artifact="$1" digest
if command -v shasum >/dev/null 2>&1; then
digest="$(shasum -a 256 "$artifact" | awk '{print $1}')"
elif command -v sha256sum >/dev/null 2>&1; then
digest="$(sha256sum "$artifact" | awk '{print $1}')"
else
digest="$(node --input-type=module -e '
import { createHash } from "node:crypto";
import { readFileSync } from "node:fs";
console.log(createHash("sha256").update(readFileSync(process.argv[1])).digest("hex"));
' "$artifact")"
fi
printf '%s %s\n' "$digest" "$(basename "$artifact")"
}
CHECKSUM_FILE="$BUNDLE_ROOT/SHA256SUMS.txt"
: >"$CHECKSUM_FILE"
for artifact in "${SOURCE_ARTIFACTS[@]}"; do
destination="$OUTPUT_DIR/$(basename "$artifact")"
cp "$artifact" "$destination"
COPIED_ARTIFACTS+=("$destination")
checksum_line "$artifact" >>"$CHECKSUM_FILE"
done
CHECKSUM_FILE="$OUTPUT_DIR/SHA256SUMS.txt"
if command -v shasum >/dev/null 2>&1; then
(
cd "$OUTPUT_DIR"
names=()
for artifact in "${COPIED_ARTIFACTS[@]}"; do names+=("$(basename "$artifact")"); done
shasum -a 256 "${names[@]}" > SHA256SUMS.txt
)
elif command -v sha256sum >/dev/null 2>&1; then
(
cd "$OUTPUT_DIR"
names=()
for artifact in "${COPIED_ARTIFACTS[@]}"; do names+=("$(basename "$artifact")"); done
sha256sum "${names[@]}" > SHA256SUMS.txt
)
else
node --input-type=module -e '
import { createHash } from "node:crypto";
import { readFileSync } from "node:fs";
import { basename } from "node:path";
for (const path of process.argv.slice(1)) {
console.log(`${createHash("sha256").update(readFileSync(path)).digest("hex")} ${basename(path)}`);
}
' "${COPIED_ARTIFACTS[@]}" > "$CHECKSUM_FILE"
fi
log "构建完成:$OUTPUT_DIR"
ls -lh "$OUTPUT_DIR"
log "构建完成(Tauri bundle):$BUNDLE_ROOT ($OUTPUT_PLATFORM)"
ls -lh "${SOURCE_ARTIFACTS[@]}"
printf '\n[build] SHA-256\n'
cat "$CHECKSUM_FILE"