14
14
required : false
15
15
default : ' none'
16
16
17
- # No default working-directory — we install at the repo root on purpose
18
-
19
17
concurrency :
20
18
group : ${{ github.workflow }}-${{ github.head_ref || github.run_id }}-binarytree
21
19
cancel-in-progress : true
@@ -25,30 +23,34 @@ jobs:
25
23
runs-on : ubuntu-24.04
26
24
27
25
steps :
26
+ # Always fetch the repo (don’t rely on restoring the whole workspace from cache)
28
27
- uses : actions/checkout@v5
29
28
with :
30
29
submodules : recursive
31
30
32
- - name : Install pnpm
33
- uses : pnpm/action-setup@v4
31
+ # Put pnpm on PATH first so setup-node's `cache: pnpm` can work safely
32
+ - uses : pnpm/action-setup@v4
34
33
with :
34
+ # Use 'auto' if your root package.json has: { "packageManager": "[email protected] " }
35
+ version : auto
35
36
run_install : false
36
37
37
- - name : Setup Node.js 20 (with pnpm store cache)
38
- uses : actions/setup-node@v5
38
+ - uses : actions/setup-node@v5
39
39
with :
40
40
node-version : ' 20'
41
41
cache : ' pnpm'
42
42
43
- # Install dependencies from the WORKSPACE ROOT
44
- - name : Install dependencies (workspace)
43
+ # Install **once** from the workspace root
44
+ - name : Install dependencies (workspace root )
45
45
working-directory : ${{ github.workspace }}
46
46
run : pnpm install --frozen-lockfile
47
47
48
- # Build only the binarytree package
48
+ # Build ONLY the binarytree package (run inside its folder; no -r, no root scripts)
49
49
- name : Build @ethereumjs/binarytree
50
- run : pnpm -w -r --filter "@ethereumjs/binarytree" run build
50
+ working-directory : ${{ github.workspace }}/packages/binarytree
51
+ run : pnpm run build
51
52
52
- # Test only the binarytree package
53
- - name : Test @ethereumjs/binarytree
54
- run : pnpm -w -r --filter "@ethereumjs/binarytree" run test
53
+ # Test ONLY the binarytree package (node tests)
54
+ - name : Test @ethereumjs/binarytree (node)
55
+ working-directory : ${{ github.workspace }}/packages/binarytree
56
+ run : pnpm run test:node
0 commit comments