@@ -7,9 +7,9 @@ name: Build package
7
7
on :
8
8
workflow_call :
9
9
inputs :
10
- package-name :
11
- description : The name of the package
12
- default : ${{github.event.repository.name}}
10
+ directory :
11
+ description : The working directory of the package, useful for monorepos
12
+ default : .
13
13
type : string
14
14
secrets :
15
15
NODE_AUTH_TOKEN :
@@ -42,16 +42,19 @@ jobs:
42
42
run : pnpm install
43
43
- name : Build x64 binary
44
44
run : |
45
- pnpm -r source
46
- pnpm -r build
45
+ pnpm source
46
+ pnpm build
47
+ working-directory : ${{inputs.directory}}
47
48
- name : Test binary
48
- run : pnpm -r test
49
+ run : pnpm test
50
+ working-directory : ${{inputs.directory}}
49
51
- name : Upload binaries
50
52
uses : actions/upload-artifact@v4
51
53
with :
52
- path : packages/${{inputs.package-name}} /**/parser.so
54
+ path : . /**/parser.so
53
55
name : prebuild-${{runner.os}}-${{runner.arch}}
54
56
retention-days : 2
57
+ working-directory : ${{inputs.directory}}
55
58
56
59
package :
57
60
name : Publish NodeJS package
@@ -74,15 +77,19 @@ jobs:
74
77
- name : Download binaries
75
78
uses : actions/download-artifact@v4
76
79
with :
77
- path : packages/${{inputs.package-name}}/ prebuilds
80
+ path : prebuilds
78
81
pattern : prebuild-*
79
82
# merge-multiple: true
83
+ working-directory : ${{inputs.directory}}
80
84
- name : Move sources
81
- run : pnpm -r source
85
+ run : pnpm source
86
+ working-directory : ${{inputs.directory}}
82
87
- name : Check binaries
83
- run : tree packages/${{inputs.package-name}}
88
+ run : tree
89
+ working-directory : ${{inputs.directory}}
84
90
- name : Publish to npm
85
91
# TODO: add dry-run as a workflow input
86
- run : pnpm -r publish --dry-run
92
+ run : pnpm publish --dry-run
87
93
env :
88
94
NODE_AUTH_TOKEN : ${{secrets.NODE_AUTH_TOKEN}}
95
+ working-directory : ${{inputs.directory}}
0 commit comments