From e46cb49103ef35f4ee3dc12f4fc201906f849737 Mon Sep 17 00:00:00 2001 From: turtle1999 <301751225+turtle1999@users.noreply.github.com> Date: Thu, 10 Sep 2026 23:02:21 +0800 Subject: [PATCH] fix(ci): derive Windows standby store from workspace volume --- .github/workflows/ci-master.yml | 5 ++--- scripts/ci-workflow.spec.ts | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-master.yml b/.github/workflows/ci-master.yml index dbb4252fec..be96b7effa 100644 --- a/.github/workflows/ci-master.yml +++ b/.github/workflows/ci-master.yml @@ -249,10 +249,9 @@ jobs: - name: Configure persistent pnpm store shell: pwsh # The store must share the ReFS workspace volume for the clone - # import method below; LOCALAPPDATA (C:) would cross volumes and - # break block clone. See 2026-08-30-windows-refs-store-block-clone-install. + # import method below. Runner workspaces can reside on different drives. run: | - $storeRoot = "F:\.pnpm-store" + $storeRoot = Join-Path ([IO.Path]::GetPathRoot($env:GITHUB_WORKSPACE)) '.pnpm-store' echo "PNPM_CONFIG_STORE_DIR=$storeRoot" >> $env:GITHUB_ENV - name: Install (immutable) diff --git a/scripts/ci-workflow.spec.ts b/scripts/ci-workflow.spec.ts index 26d040eac2..5a7cb17fd8 100644 --- a/scripts/ci-workflow.spec.ts +++ b/scripts/ci-workflow.spec.ts @@ -258,7 +258,8 @@ describe('CI workflow', () => { isRecord(step) && step.name === 'Configure persistent pnpm store' && typeof step.run === 'string' )) expect(serialStore).toBeDefined() - expect(serialStore!.run).toContain('F:\\.pnpm-store') + expect(serialStore!.run).toContain('[IO.Path]::GetPathRoot($env:GITHUB_WORKSPACE)') + expect(serialStore!.run).toContain("'.pnpm-store'") const serialInstall = serialSteps.find((step): step is Record & { run: string } => ( isRecord(step) && step.name === 'Install (immutable)' && typeof step.run === 'string' ))