File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 77 branches : [main]
88
99jobs :
10- # Basic build and test (just Ubuntu + Node 18 for now )
10+ # Build prebuilds for all platforms (Linux, macOS, Windows )
1111 build :
12- runs-on : ubuntu-latest
12+ strategy :
13+ fail-fast : false
14+ matrix :
15+ os : [ubuntu-latest, macos-latest, windows-latest]
16+
17+ runs-on : ${{ matrix.os }}
1318
1419 steps :
1520 - uses : actions/checkout@v4
3540 - name : Run tests
3641 run : npm test
3742
38- - name : Build prebuild
43+ - name : Build prebuilds
3944 run : npm run prebuild
45+
46+ - name : Upload prebuilds
47+ uses : actions/upload-artifact@v4
48+ with :
49+ name : prebuilds-${{ matrix.os }}
50+ path : prebuilds/
51+ if-no-files-found : warn
52+
53+ # Consolidate all prebuilds into one artifact
54+ consolidate-prebuilds :
55+ needs : build
56+ runs-on : ubuntu-latest
57+
58+ steps :
59+ - uses : actions/checkout@v4
60+
61+ - name : Download all prebuilds
62+ uses : actions/download-artifact@v4
63+ with :
64+ path : prebuilds-all
65+ pattern : prebuilds-*
66+
67+ - name : Consolidate prebuilds
68+ run : |
69+ mkdir -p prebuilds
70+ for dir in prebuilds-all/*/; do
71+ cp -r "$dir"* prebuilds/ 2>/dev/null || true
72+ done
73+ echo "Prebuilds consolidated:"
74+ ls -la prebuilds/
75+
76+ - name : Upload consolidated prebuilds
77+ uses : actions/upload-artifact@v4
78+ with :
79+ name : prebuilds-all-platforms
80+ path : prebuilds/
Original file line number Diff line number Diff line change 3535 - name : Install dependencies
3636 run : npm ci
3737
38- - name : Build prebuild
38+ - name : Build prebuilds
3939 run : npm run prebuild
4040
4141 - name : Upload prebuild
Original file line number Diff line number Diff line change 2424 "scripts" : {
2525 "build" : " tsc" ,
2626 "build:esm" : " tsc -p tsconfig.esm.json && mkdir -p dist-esm-final && mv dist-esm/*.js dist-esm-final/ && for file in dist-esm-final/*.js; do mv \" $file\" \" ${file%.js}.mjs\" ; done && mv dist-esm-final/* dist/ && rm -rf dist-esm dist-esm-final" ,
27- "prebuild" : " echo 'No native compilation needed for this JavaScript library' " ,
27+ "prebuild" : " prebuildify --napi --strip " ,
2828 "test" : " vitest run" ,
2929 "test:watch" : " vitest" ,
3030 "lint" : " eslint src --ext .ts" ,
You can’t perform that action at this time.
0 commit comments