|
5 | 5 |
|
6 | 6 | permissions: |
7 | 7 | contents: write |
| 8 | + # id-token: write # TODO: Enable after first release for npm provenance with OIDC |
8 | 9 |
|
9 | 10 | jobs: |
10 | 11 | build: |
@@ -321,13 +322,86 @@ jobs: |
321 | 322 | if: steps.tag.outputs.version != '' |
322 | 323 | run: cd packages/android && ./gradlew publishAggregationToCentralPortal -PSIGNING_KEY="${{ secrets.SIGNING_KEY }}" -PSIGNING_PASSWORD="${{ secrets.SIGNING_PASSWORD }}" -PSONATYPE_USERNAME="${{ secrets.MAVEN_CENTRAL_USERNAME }}" -PSONATYPE_PASSWORD="${{ secrets.MAVEN_CENTRAL_TOKEN }}" -PVERSION="${{ steps.tag.outputs.version }}" -PAAR_PATH="../../artifacts/vector-android-aar/vector.aar" |
323 | 324 |
|
| 325 | + - uses: actions/setup-node@v4 |
| 326 | + if: steps.tag.outputs.version != '' |
| 327 | + with: |
| 328 | + node-version: '20' |
| 329 | + registry-url: 'https://registry.npmjs.org' |
| 330 | + |
| 331 | + - name: build and publish npm packages |
| 332 | + if: steps.tag.outputs.version != '' |
| 333 | + env: |
| 334 | + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |
| 335 | + run: | |
| 336 | + cd packages/node |
| 337 | +
|
| 338 | + # Generate platform packages |
| 339 | + echo "Generating platform packages..." |
| 340 | + node generate-platform-packages.js "${{ steps.tag.outputs.version }}" "../../artifacts" "./platform-packages" |
| 341 | + echo "✓ Generated 7 platform packages" |
| 342 | + ls -la platform-packages/ |
| 343 | +
|
| 344 | + # Build main package |
| 345 | + echo "Building main package..." |
| 346 | + npm install |
| 347 | + npm run build |
| 348 | + npm test |
| 349 | + echo "✓ Main package built and tested" |
| 350 | +
|
| 351 | + # Publish platform packages |
| 352 | + echo "Publishing platform packages to npm..." |
| 353 | + cd platform-packages |
| 354 | + for platform_dir in */; do |
| 355 | + platform_name=$(basename "$platform_dir") |
| 356 | + echo " Publishing @sqliteai/sqlite-vector-${platform_name}..." |
| 357 | + cd "$platform_dir" |
| 358 | + npm publish --access public |
| 359 | + # TODO: Add --provenance flag after switching to OIDC (requires package to exist first) |
| 360 | + cd .. |
| 361 | + echo " ✓ Published @sqliteai/sqlite-vector-${platform_name}" |
| 362 | + done |
| 363 | + cd .. |
| 364 | +
|
| 365 | + # Publish main package |
| 366 | + echo "Publishing main package to npm..." |
| 367 | + npm publish --access public |
| 368 | + # TODO: Add --provenance flag after switching to OIDC (requires package to exist first) |
| 369 | + echo "✓ Published @sqliteai/sqlite-vector@${{ steps.tag.outputs.version }}" |
| 370 | +
|
| 371 | + echo "" |
| 372 | + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" |
| 373 | + echo "✅ Successfully published 8 packages to npm" |
| 374 | + echo " Main: @sqliteai/sqlite-vector@${{ steps.tag.outputs.version }}" |
| 375 | + echo " Platform packages: 7" |
| 376 | + echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" |
| 377 | +
|
324 | 378 | - uses: softprops/[email protected] |
325 | 379 | if: steps.tag.outputs.version != '' |
326 | 380 | with: |
327 | 381 | body: | |
| 382 | + # Node.js/npm Package |
| 383 | +
|
| 384 | + **Main package**: [@sqliteai/sqlite-vector](https://www.npmjs.com/package/@sqliteai/sqlite-vector) |
| 385 | +
|
| 386 | + ```bash |
| 387 | + npm install @sqliteai/sqlite-vector |
| 388 | + ``` |
| 389 | +
|
| 390 | + Platform-specific packages are installed automatically based on your OS. |
| 391 | +
|
| 392 | + --- |
| 393 | +
|
328 | 394 | # WASM Releases |
| 395 | +
|
329 | 396 | **WASM repository**: [sqlite-wasm](https://github.com/sqliteai/sqlite-wasm) |
330 | | - **WASM package** is available on npm: [@sqliteai/sqlite-wasm](https://www.npmjs.com/package/@sqliteai/sqlite-wasm) |
| 397 | + **WASM package**: [@sqliteai/sqlite-wasm](https://www.npmjs.com/package/@sqliteai/sqlite-wasm) |
| 398 | +
|
| 399 | + ```bash |
| 400 | + npm install @sqliteai/sqlite-wasm |
| 401 | + ``` |
| 402 | +
|
| 403 | + --- |
| 404 | +
|
331 | 405 | generate_release_notes: true |
332 | 406 | tag_name: ${{ steps.tag.outputs.version }} |
333 | 407 | files: vector-*-${{ steps.tag.outputs.version }}.* |
|
0 commit comments