@@ -32,11 +32,11 @@ permissions:
3232env :
3333 FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 : " true"
3434 PNPM_CONFIG_CHILD_CONCURRENCY : " 1"
35- PNPM_CONFIG_MODULES_DIR : " /var/tmp/openclaw-pnpm-node-modules "
35+ PNPM_CONFIG_MODULES_DIR : " /var/tmp/openclaw-pnpm/node_modules "
3636 PNPM_CONFIG_NETWORK_CONCURRENCY : " 1"
37- PNPM_CONFIG_STORE_DIR : " /var/tmp/openclaw-pnpm- store"
37+ PNPM_CONFIG_STORE_DIR : " /var/tmp/openclaw-pnpm/ store"
3838 PNPM_CONFIG_VERIFY_DEPS_BEFORE_RUN : " false"
39- PNPM_CONFIG_VIRTUAL_STORE_DIR : " /var/tmp/openclaw-pnpm- virtual-store"
39+ PNPM_CONFIG_VIRTUAL_STORE_DIR : " /var/tmp/openclaw-pnpm/ virtual-store"
4040
4141jobs :
4242 hydrate :
@@ -120,18 +120,16 @@ jobs:
120120 append_pnpm_option_arg PNPM_CONFIG_MODULES_DIR modules-dir
121121 append_pnpm_option_arg PNPM_CONFIG_NETWORK_CONCURRENCY network-concurrency
122122 append_pnpm_option_arg PNPM_CONFIG_VIRTUAL_STORE_DIR virtual-store-dir
123- reset_crabbox_pnpm_path() {
124- local path="$1"
125- if [ -z "$path" ]; then
126- return
123+ reset_crabbox_pnpm_root() {
124+ local root="/var/tmp/openclaw-pnpm"
125+ rm -rf -- "$root"
126+ mkdir -p "$root"
127+ if [ -L "$root" ] || [ ! -d "$root" ] || [ ! -O "$root" ]; then
128+ echo "::error::Refusing unsafe pnpm cache root: $root"
129+ exit 1
127130 fi
128- case "$path" in
129- /var/tmp/openclaw-pnpm-*) rm -rf "$path" ;;
130- esac
131131 }
132- reset_crabbox_pnpm_path "${PNPM_CONFIG_MODULES_DIR:-}"
133- reset_crabbox_pnpm_path "${PNPM_CONFIG_STORE_DIR:-}"
134- reset_crabbox_pnpm_path "${PNPM_CONFIG_VIRTUAL_STORE_DIR:-}"
132+ reset_crabbox_pnpm_root
135133 if [ -L node_modules ] && [ "$(readlink node_modules)" = "${PNPM_CONFIG_MODULES_DIR:-}" ]; then
136134 rm -f node_modules
137135 fi
@@ -372,9 +370,10 @@ jobs:
372370 $env:XDG_CACHE_HOME = Join-Path $cacheRoot "cache"
373371 $env:COREPACK_HOME = Join-Path $env:XDG_CACHE_HOME "corepack"
374372 $env:PNPM_HOME = Join-Path $cacheRoot "pnpm-home"
375- $env:PNPM_CONFIG_STORE_DIR = Join-Path $cacheRoot "openclaw-pnpm-store"
376- $env:PNPM_CONFIG_MODULES_DIR = Join-Path $cacheRoot "openclaw-pnpm-node-modules"
377- $env:PNPM_CONFIG_VIRTUAL_STORE_DIR = Join-Path $env:PNPM_CONFIG_MODULES_DIR ".pnpm"
373+ $pnpmCacheRoot = Join-Path $cacheRoot "openclaw-pnpm"
374+ $env:PNPM_CONFIG_STORE_DIR = Join-Path $pnpmCacheRoot "store"
375+ $env:PNPM_CONFIG_MODULES_DIR = Join-Path $pnpmCacheRoot "node_modules"
376+ $env:PNPM_CONFIG_VIRTUAL_STORE_DIR = Join-Path $pnpmCacheRoot "virtual-store"
378377 $env:PNPM_CONFIG_CHILD_CONCURRENCY = "4"
379378 $env:PNPM_CONFIG_NETWORK_CONCURRENCY = "8"
380379 $env:PNPM_CONFIG_VERIFY_DEPS_BEFORE_RUN = "false"
0 commit comments