name: Build and upload to NPM on: push: workflow_dispatch: # Allow one concurrent deployment concurrency: group: environment-${{ github.ref }} cancel-in-progress: true jobs: build: runs-on: ubuntu-latest permissions: contents: write id-token: write # required to use OIDC steps: - uses: actions/checkout@v6 - name: install node v25 uses: actions/setup-node@v6 with: node-version: 25.4.0 registry-url: 'https://registry.npmjs.org' - name: Update npm to latest run: npm install -g npm@latest - name: Check npm version run: npm --version - name: Install NPM run: npm install - name: Compile run: npm run build - name: Publish to NPM registry (OIDC Trusted Publishing) uses: JS-DevTools/npm-publish@v4 with: registry: https://registry.npmjs.org/ strategy: all