feat: simplify public preview installation
Release / release (push) Failing after 12s

This commit is contained in:
Qiufeng
2026-08-17 15:27:32 +08:00
parent c8b0151769
commit aed561c702
7 changed files with 90 additions and 182 deletions
+9 -27
View File
@@ -5,20 +5,14 @@ umask 077
ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
INSTALLER="$ROOT/deploy/install.sh"
INSTALLER_SHA256=${KAIDI_INSTALLER_SHA256:-33d4921bcad7ef2be12f20bc0512a5f6df4227ea6dd3b7e6225164077d9cd9e7}
INSTALLER_SHA256=${KAIDI_INSTALLER_SHA256:-faf52cc902abbc2bd48571caee3f4207de50ce339b82ce88fe23f9c4ce8f89ef}
RELEASE_API_URL=${KAIDI_RELEASE_API_URL:-https://git.awaioi.com/api/v1/repos/ERP-Team/kaidi/releases/latest}
PUBLIC_KEY_SHA256=${KAIDI_RELEASE_PUBLIC_KEY_SHA256:-807c6aec1dc3f7ce494db16aa9d763c66f292033c38f328afd0390d2715a8cd9}
TOKEN_FILE=${KAIDI_RELEASE_TOKEN_FILE:-}
TEMP_TOKEN_FILE=
log() { printf '[kaidi-git-install] %s\n' "$*"; }
die() { printf '[kaidi-git-install] ERROR: %s\n' "$*" >&2; exit 1; }
cleanup() {
[ -z "$TEMP_TOKEN_FILE" ] || rm -f "$TEMP_TOKEN_FILE"
}
trap cleanup EXIT
[ -f "$INSTALLER" ] || die "deploy/install.sh is missing; run this command from the Kaidi Git checkout"
command -v sha256sum >/dev/null 2>&1 || die "sha256sum is required"
[[ "$INSTALLER_SHA256" =~ ^[0-9A-Fa-f]{64}$ ]] || die "The installer SHA-256 is invalid"
@@ -29,25 +23,6 @@ normalized_installer_sha256=$(printf '%s' "$INSTALLER_SHA256" | tr '[:upper:]' '
[ "$normalized_actual_installer_sha256" = "$normalized_installer_sha256" ] \
|| die "deploy/install.sh does not match the trusted SHA-256 for this Git tag"
if [ -z "$TOKEN_FILE" ]; then
TOKEN_FILE=$(mktemp)
TEMP_TOKEN_FILE=$TOKEN_FILE
chmod 0600 "$TOKEN_FILE"
if [ -t 0 ]; then
read -rsp 'Gitea read-only token: ' token
printf '\n'
printf '%s' "$token" > "$TOKEN_FILE"
unset token
else
die "Set KAIDI_RELEASE_TOKEN_FILE or run interactively to enter the Gitea read-only token"
fi
fi
[ -f "$TOKEN_FILE" ] && [ ! -L "$TOKEN_FILE" ] || die "The Gitea token file must be a regular file"
token_size=$(wc -c < "$TOKEN_FILE" | tr -d '[:space:]')
[ "$token_size" -gt 0 ] && [ "$token_size" -le 512 ] || die "The Gitea token file must contain 1 to 512 bytes"
LC_ALL=C grep -q '[[:cntrl:]]' "$TOKEN_FILE" && die "The Gitea token file contains invalid control characters"
root_command=(env)
if [ "$(id -u)" -ne 0 ]; then
command -v sudo >/dev/null 2>&1 || die "sudo is required when not running as root"
@@ -56,10 +31,17 @@ fi
install_env=(
"KAIDI_RELEASE_API_URL=$RELEASE_API_URL"
"KAIDI_RELEASE_TOKEN_FILE=$TOKEN_FILE"
"KAIDI_RELEASE_PUBLIC_KEY_SHA256=$PUBLIC_KEY_SHA256"
)
if [ -n "$TOKEN_FILE" ]; then
[ -f "$TOKEN_FILE" ] && [ ! -L "$TOKEN_FILE" ] || die "The Gitea token file must be a regular file"
token_size=$(wc -c < "$TOKEN_FILE" | tr -d '[:space:]')
[ "$token_size" -gt 0 ] && [ "$token_size" -le 512 ] || die "The Gitea token file must contain 1 to 512 bytes"
LC_ALL=C grep -q '[[:cntrl:]]' "$TOKEN_FILE" && die "The Gitea token file contains invalid control characters"
install_env+=("KAIDI_RELEASE_TOKEN_FILE=$TOKEN_FILE")
fi
KAIDI_REINSTALL=${KAIDI_REINSTALL:-}
KAIDI_SETUP_WIZARD=${KAIDI_SETUP_WIZARD:-}
KAIDI_DB_URL=${KAIDI_DB_URL:-}