#!/usr/bin/env bash
set -euo pipefail
# Only stage a release. Never overwrite the running site or its configuration.
release_base='https://node.xboardnext.com/Xboard-Plus/dev'
stage_dir=$(mktemp -d "${TMPDIR:-/tmp}/xboard-plus-update.XXXXXX")
curl --proto '=https' --tlsv1.2 -fL "$release_base/latest.json" -o "$stage_dir/latest.json"
release_version=$(sed -n 's/.*"version": "\([0-9A-Za-z.-]*\)".*/\1/p' "$stage_dir/latest.json")
case "$release_version" in ''|*[!0-9A-Za-z.-]*) echo 'Invalid version'; exit 1;; esac
release_base="https://node.xboardnext.com/Xboard-Plus/releases/$release_version"
curl --proto '=https' --tlsv1.2 -fL "$release_base/Xboard-Plus-source.tar.gz" -o "$stage_dir/Xboard-Plus-source.tar.gz"
curl --proto '=https' --tlsv1.2 -fL "$release_base/SHA256SUMS" -o "$stage_dir/SHA256SUMS"
cd "$stage_dir"
if command -v sha256sum >/dev/null 2>&1; then sha256sum -c SHA256SUMS; else shasum -a 256 -c SHA256SUMS; fi
tar -xzf Xboard-Plus-source.tar.gz
printf '\n源码已校验并解压到：%s/Xboard-Plus\n请阅读 SELFHOST-DEPLOY.md；未修改线上服务。\n' "$stage_dir"
