From c875d6c94c576b7e9c3a834e525f0e8910db0889 Mon Sep 17 00:00:00 2001 From: Dotta Date: Wed, 22 Jul 2026 18:33:45 +0000 Subject: [PATCH] test(cli): exercise source managed installer Co-Authored-By: Paperclip --- scripts/clean-install-npm.sh | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/scripts/clean-install-npm.sh b/scripts/clean-install-npm.sh index a65bb95ed74..73fa082c538 100755 --- a/scripts/clean-install-npm.sh +++ b/scripts/clean-install-npm.sh @@ -1,6 +1,9 @@ #!/bin/bash set -euo pipefail +REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)" +PC_INSTALL_DRIVER="${PC_INSTALL_DRIVER:-source}" + PC_TEST_ROOT="$(mktemp -d "${TMPDIR:-/tmp}/paperclip-clean-install.XXXXXX")" PC_HOME="$PC_TEST_ROOT/home" PC_CACHE="$PC_TEST_ROOT/npm-cache" @@ -8,22 +11,26 @@ mkdir -p "$PC_HOME" "$PC_CACHE" trap 'rm -rf "$PC_TEST_ROOT"' EXIT export HOME="$PC_HOME" +export PAPERCLIP_HOME="$PC_HOME/.paperclip" export npm_config_cache="$PC_CACHE" export npm_config_userconfig="$PC_HOME/.npmrc" export PATH="$PC_HOME/.local/bin:$PATH" -cd "$PC_TEST_ROOT" -npx --yes --registry https://registry.npmjs.org paperclipai install +if [ "$PC_INSTALL_DRIVER" = "published" ]; then + (cd "$PC_TEST_ROOT" && npx --yes --registry https://registry.npmjs.org paperclipai install) +else + (cd "$REPO_ROOT" && pnpm paperclipai install --yes) +fi test -x "$PC_HOME/.local/bin/paperclipai" -test -L "$PC_HOME/.paperclip/cli/current" -test -f "$PC_HOME/.paperclip/cli/install.json" +test -L "$PAPERCLIP_HOME/cli/current" +test -f "$PAPERCLIP_HOME/cli/install.json" paperclipai --version -mkdir -p "$PC_HOME/.paperclip/instances/default" -touch "$PC_HOME/.paperclip/instances/default/user-data-marker" -paperclipai uninstall +mkdir -p "$PAPERCLIP_HOME/instances/default" +touch "$PAPERCLIP_HOME/instances/default/user-data-marker" +(cd "$REPO_ROOT" && pnpm paperclipai uninstall) -test ! -e "$PC_HOME/.paperclip/cli" +test ! -e "$PAPERCLIP_HOME/cli" test ! -e "$PC_HOME/.local/bin/paperclipai" -test -f "$PC_HOME/.paperclip/instances/default/user-data-marker" +test -f "$PAPERCLIP_HOME/instances/default/user-data-marker"