From fa3d0da80b6deaed672e71c9f3e7715a6543ef20 Mon Sep 17 00:00:00 2001 From: StanPonomarev Date: Thu, 10 Sep 2026 13:48:01 +0200 Subject: [PATCH] fix install again --- install.sh | 4 +++- tests/install.test.ts | 14 +++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 044317b..c23dd64 100755 --- a/install.sh +++ b/install.sh @@ -26,7 +26,9 @@ if [[ ! "$checksum" =~ ^[a-fA-F0-9]{64}$ ]]; then printf 'Invalid release checksum\n' >&2 exit 1 fi -if ! (cd "$install" && printf '%s stanp-opencode.tgz\n' "$checksum" | sha256sum --check --status); then +hash_output=$(sha256sum "$install/stanp-opencode.tgz") +read -r actual _ <<< "$hash_output" +if [[ ! "$actual" =~ ^[a-fA-F0-9]{64}$ || "$actual" != "$checksum" ]]; then printf 'Release checksum mismatch; installation unchanged\n' >&2 exit 1 fi diff --git a/tests/install.test.ts b/tests/install.test.ts index 0468d2b..ecd848b 100644 --- a/tests/install.test.ts +++ b/tests/install.test.ts @@ -145,10 +145,22 @@ if [[ -n "$output" ]]; then else cat "$FIXTURE_DIR/$source" fi +`, + ), + writeFile( + join(bin, "sha256sum"), + `#!/usr/bin/env bash +if [[ "\${1:-}" == -* ]]; then + printf 'usage: sha256sum [-bctwz] [files ...]\n' >&2 + exit 1 +fi +PATH="\${PATH#*:}" +export PATH +exec sha256sum "$@" `, ), ]); - await chmod(join(bin, "curl"), 0o755); + await Promise.all([chmod(join(bin, "curl"), 0o755), chmod(join(bin, "sha256sum"), 0o755)]); const result = await run(["bash", installer], directory, env); return { directory, config, env, result }; }