mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
ci: pin pnpm store path across runner fleets (#6414)
* ci: pin pnpm store path across runner fleets Nexu ARC resolved the store under _work while hosted/seed used the home store, so actions/cache version hashes diverged and every Nexu job missed. Force $HOME/.pnpm-store and add restore-keys prefix fallback. * test(e2e): lock stable pnpm store path and restore-keys Add regression assertions for the non-persistent home store pin and OS-prefix restore-keys so the cross-fleet cache contract cannot regress silently. Generated-By: looper 0.11.8 (runner=fixer, agent=grok-build) * ci: seed Linux pnpm cache from cache-maintenance Pinning the store path alone cannot hit until a main job saves under the new actions/cache version. Add a single ubuntu-24.04 seed job; the cache is repo-scoped so every Nexu size reuses it.
This commit is contained in:
@@ -47,7 +47,17 @@ runs:
|
||||
echo "enabled=true" >> "$GITHUB_OUTPUT"
|
||||
echo "path=$store_dir" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
# Force a stable home store path so actions/cache version hashes match
|
||||
# across fleets (hosted vs Nexu ARC). ARC may copy instead of hardlink;
|
||||
# that is acceptable for cache hit stability.
|
||||
store_dir="$HOME/.pnpm-store"
|
||||
mkdir -p "$store_dir"
|
||||
{
|
||||
echo "NPM_CONFIG_STORE_DIR=$store_dir"
|
||||
echo "npm_config_store_dir=$store_dir"
|
||||
} >> "$GITHUB_ENV"
|
||||
echo "enabled=false" >> "$GITHUB_OUTPUT"
|
||||
echo "path=$store_dir" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
- name: Setup pnpm
|
||||
@@ -73,6 +83,8 @@ runs:
|
||||
with:
|
||||
path: ${{ steps.pnpm-store.outputs.path }}
|
||||
key: pnpm-store-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
pnpm-store-${{ runner.os }}-
|
||||
|
||||
- name: Install dependencies
|
||||
shell: bash
|
||||
|
||||
Reference in New Issue
Block a user