@@ -45,25 +45,29 @@ jobs:
4545 runs-on : " ubuntu-20-04"
4646 cmake-flags : " "
4747 build-deps-cmake-flags : " "
48- ccache-dir : ' '
48+ arch : " x64"
49+ platform : " linux"
4950 - os : " mac"
5051 name : " amd64"
5152 runs-on : " macos-13"
5253 cmake-flags : " "
5354 build-deps-cmake-flags : " "
54- ccache-dir : ' '
55+ arch : " x64"
56+ platform : " darwin"
5557 - os : " mac"
5658 name : " arm64"
5759 runs-on : " macos-latest"
5860 cmake-flags : " -DMAC_ARM64=ON"
5961 build-deps-cmake-flags : " "
60- ccache-dir : ' '
62+ arch : " arm64"
63+ platform : " darwin"
6164 - os : " windows"
6265 name : " amd64"
6366 runs-on : " windows-cuda-12-0"
6467 cmake-flags : " -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CUDA_COMPILER_LAUNCHER=ccache -GNinja"
6568 build-deps-cmake-flags : " -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CUDA_COMPILER_LAUNCHER=ccache -GNinja"
66- ccache-dir : ' C:\Users\ContainerAdministrator\AppData\Local\ccache'
69+ arch : " x64"
70+ platform : " win32"
6771
6872 steps :
6973 - name : Clone
7781 with :
7882 dotnet-version : " 8.0.x"
7983
84+ - uses : actions/setup-node@v3
85+ with :
86+ node-version : " 20.x"
87+ registry-url : " https://registry.npmjs.org"
88+
8089 - name : Install choco on Windows
8190 if : runner.os == 'Windows'
8291 run : |
@@ -116,7 +125,7 @@ jobs:
116125 run : |
117126 cd cortex-cpp
118127 make pre-package
119-
128+
120129 - name : Code Signing macOS
121130 if : runner.os == 'macOS'
122131 run : |
@@ -163,6 +172,50 @@ jobs:
163172 AWS_SECRET_ACCESS_KEY : " ${{ secrets.MINIO_SECRET_ACCESS_KEY }}"
164173 AWS_DEFAULT_REGION : " ${{ secrets.MINIO_REGION }}"
165174
175+ # # cortex-cpp node binding
176+
177+ # update version in package.json
178+ - name : Install jq
179+ uses : dcarbone/install-jq-action@v2.0.1
180+
181+ - name : " Update version by tag"
182+ working-directory : cortex-cpp
183+ run : |
184+ echo "Version: ${{ needs.create-draft-release.outputs.version }}"
185+ # Update the version in package.json
186+ jq --arg version "${{ needs.create-draft-release.outputs.version }}" '.version = $version' package.json > package-tmp.json
187+ rm package.json
188+ mv package-tmp.json package.json
189+
190+ # build prebuilds
191+ - name : Build Prebuilds
192+ working-directory : cortex-cpp
193+ run : |
194+ npm install -g yarn
195+ yarn && yarn prebuild
196+
197+ # upload prebuilds
198+ - name : Upload Prebuilds Darwin
199+ uses : actions/upload-release-asset@v1.0.1
200+ if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
201+ env :
202+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
203+ with :
204+ upload_url : ${{ needs.create-draft-release.outputs.upload_url }}
205+ asset_path : ./cortex-cpp/prebuilds/cortex-cpp-v${{ needs.create-draft-release.outputs.version }}-napi-v8-${{matrix.platform}}-${{ matrix.arch }}.tar.gz
206+ asset_name : cortex-cpp-v${{ needs.create-draft-release.outputs.version }}-napi-v8-${{matrix.platform}}-${{ matrix.arch }}.tar.gz
207+ asset_content_type : application/gzip
208+
209+ # Setup .npmrc file to publish to npm - upload only once
210+ - run : npm publish --access public
211+ continue-on-error : true
212+ if : runner.os == 'linux'
213+ env :
214+ NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
215+ working-directory : ./cortex-cpp
216+
217+ # # cortex-cpp node binding
218+
166219 build-cortex-single-binary :
167220 runs-on : ${{ matrix.runs-on }}
168221 needs : [create-draft-release]
@@ -229,7 +282,7 @@ jobs:
229282 with :
230283 python-version : " 3.10"
231284
232- - run : pip3 install --upgrade setuptools
285+ - run : pip3 install --upgrade setuptools
233286 if : runner.os == 'macOS'
234287
235288 - run : yarn install && yarn build:binary
0 commit comments