Skip to content

Commit bed7968

Browse files
authored
Merge pull request #3 from PMDevSolutions/fix/ci-pnpm-build-approval
fix(ci): pin pnpm to v10 and approve builds via onlyBuiltDependencies
2 parents cfbb186 + d31368a commit bed7968

2 files changed

Lines changed: 30 additions & 23 deletions

File tree

.github/workflows/ci.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ jobs:
1515
name: Lint & Format
1616
runs-on: ubuntu-latest
1717
steps:
18-
- uses: actions/checkout@v4
19-
- uses: pnpm/action-setup@v4
18+
- uses: actions/checkout@v7
19+
- uses: pnpm/action-setup@v6
2020
with:
21-
version: latest
22-
- uses: actions/setup-node@v4
21+
version: 10
22+
- uses: actions/setup-node@v6
2323
with:
2424
node-version: 22
2525
cache: pnpm
@@ -31,11 +31,11 @@ jobs:
3131
name: Type Check
3232
runs-on: ubuntu-latest
3333
steps:
34-
- uses: actions/checkout@v4
35-
- uses: pnpm/action-setup@v4
34+
- uses: actions/checkout@v7
35+
- uses: pnpm/action-setup@v6
3636
with:
37-
version: latest
38-
- uses: actions/setup-node@v4
37+
version: 10
38+
- uses: actions/setup-node@v6
3939
with:
4040
node-version: 22
4141
cache: pnpm
@@ -47,18 +47,18 @@ jobs:
4747
name: Test
4848
runs-on: ubuntu-latest
4949
steps:
50-
- uses: actions/checkout@v4
51-
- uses: pnpm/action-setup@v4
50+
- uses: actions/checkout@v7
51+
- uses: pnpm/action-setup@v6
5252
with:
53-
version: latest
54-
- uses: actions/setup-node@v4
53+
version: 10
54+
- uses: actions/setup-node@v6
5555
with:
5656
node-version: 22
5757
cache: pnpm
5858
cache-dependency-path: app/pnpm-lock.yaml
5959
- run: pnpm install --frozen-lockfile
6060
- run: pnpm test
61-
- uses: actions/upload-artifact@v4
61+
- uses: actions/upload-artifact@v7
6262
if: always()
6363
with:
6464
name: coverage-report
@@ -70,11 +70,11 @@ jobs:
7070
runs-on: ubuntu-latest
7171
needs: [lint, typecheck, test]
7272
steps:
73-
- uses: actions/checkout@v4
74-
- uses: pnpm/action-setup@v4
73+
- uses: actions/checkout@v7
74+
- uses: pnpm/action-setup@v6
7575
with:
76-
version: latest
77-
- uses: actions/setup-node@v4
76+
version: 10
77+
- uses: actions/setup-node@v6
7878
with:
7979
node-version: 22
8080
cache: pnpm

app/pnpm-workspace.yaml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1-
# pnpm build-script approval. pnpm v11 replaced onlyBuiltDependencies with
2-
# `allowBuilds`; this allows esbuild's (and sharp's) postinstall so CI's
3-
# `pnpm install --frozen-lockfile` passes instead of ERR_PNPM_IGNORED_BUILDS.
4-
allowBuilds:
5-
esbuild: true
6-
sharp: true
1+
# Approve the dependencies allowed to run install/build scripts during
2+
# `pnpm install` (pnpm blocks dependency build scripts by default). This is
3+
# pnpm v10's documented mechanism — https://pnpm.io/settings#onlybuiltdependencies
4+
# — so CI's `pnpm install --frozen-lockfile` runs them and exits 0 instead of
5+
# failing with ERR_PNPM_IGNORED_BUILDS.
6+
#
7+
# The pnpm major is pinned to 10 in .github/workflows/ci.yml because pnpm v11
8+
# renames this key to `allowBuilds` (and ignores `onlyBuiltDependencies`); keep
9+
# the two in sync. esbuild ships a native postinstall; sharp is listed
10+
# defensively (it uses prebuilt @img/* binaries today, with no install script).
11+
onlyBuiltDependencies:
12+
- esbuild
13+
- sharp

0 commit comments

Comments
 (0)