fix: verify pinned pnpm in Windows CI
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 1m13s

This commit is contained in:
suyx
2026-07-28 13:17:25 +08:00
parent 2c5c1a5005
commit e3d9759d24
2 changed files with 15 additions and 2 deletions
+12 -2
View File
@@ -15,9 +15,19 @@ jobs:
steps:
- name: Check out frozen revision
uses: actions/checkout@v4
- name: Enable frozen package manager
- name: Verify frozen package manager
shell: powershell
run: corepack enable
run: |
$ErrorActionPreference = "Stop"
$expectedPackageManager = (Get-Content package.json -Raw | ConvertFrom-Json).packageManager
if ($expectedPackageManager -notmatch '^pnpm@(?<version>.+)$') {
throw "package.json must pin pnpm with packageManager"
}
$expectedVersion = $Matches.version
$actualVersion = (pnpm --version).Trim()
if ($actualVersion -ne $expectedVersion) {
throw "Expected pnpm $expectedVersion, got $actualVersion"
}
- name: Install frozen dependencies
shell: powershell
run: pnpm install --frozen-lockfile
+3
View File
@@ -5,6 +5,9 @@ const policy = JSON.parse(readFileSync("ci/runner-isolation-policy.json", "utf8"
const workflow = readFileSync(".gitea/workflows/p0a-ci.yml", "utf8");
for (const label of policy.required_labels) assert.match(workflow, new RegExp(`\\b${label}\\b`));
assert.doesNotMatch(workflow, /\bcorepack enable\b/);
assert.match(workflow, /Get-Content package\.json -Raw \| ConvertFrom-Json/);
assert.match(workflow, /pnpm --version/);
assert.match(workflow, /pnpm install --frozen-lockfile/);
assert.match(workflow, /DADA_EXTERNAL_MODE:\s*mock/);
assert.match(workflow, /pnpm test:all/);