Skip to content

chore: bump to v1.3.0 (#51) #5

chore: bump to v1.3.0 (#51)

chore: bump to v1.3.0 (#51) #5

name: Release JavaScript
on:
push:
tags: ["v*.*.*"]
workflow_dispatch:
inputs:
tag:
description: "Tag to release (e.g. v1.1.0)"
required: true
permissions:
contents: read
jobs:
build:
name: Build (${{ matrix.target }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- target: aarch64-unknown-linux-gnu
os: ubuntu-24.04-arm
- target: x86_64-apple-darwin
os: macos-latest
- target: aarch64-apple-darwin
os: macos-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.tag || github.ref }}
- uses: actions/setup-node@v4
with:
node-version: "24"
- uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
crates/ascend-tools-js/target
key: js-${{ matrix.target }}-${{ hashFiles('crates/ascend-tools-js/Cargo.lock') }}
restore-keys: js-${{ matrix.target }}-
- run: bin/setup
- run: rustup target add ${{ matrix.target }}
- working-directory: crates/ascend-tools-js
run: |
npm install --no-fund --no-audit
npm run build -- --target ${{ matrix.target }}
- uses: actions/upload-artifact@v4
with:
name: bindings-${{ matrix.target }}
path: |
crates/ascend-tools-js/*.node
crates/ascend-tools-js/index.js
crates/ascend-tools-js/index.d.cts
if-no-files-found: error
publish:
name: Publish to npm
needs: build
runs-on: ubuntu-latest
environment: npm
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.tag || github.ref }}
- uses: actions/setup-node@v4
with:
node-version: "24"
registry-url: "https://registry.npmjs.org"
- uses: actions/download-artifact@v4
with:
path: crates/ascend-tools-js
merge-multiple: true
- working-directory: crates/ascend-tools-js
run: npm publish --access public