# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages name: Publish to NPM on: push: branches: - master # permissions: # id-token: 'write' # contents: 'read' jobs: publish-npm: runs-on: ubuntu-latest steps: - name: Package Version Updated uses: MontyD/package-json-updated-action@1.0.1 id: version-updated with: path: package.json env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: 'Checkout source code' if: steps.version-updated.outputs.has-updated uses: actions/checkout@v4 - uses: actions/setup-node@v4 if: steps.version-updated.outputs.has-updated with: node-version-file: '.nvmrc' registry-url: https://registry.npmjs.org/ cache: 'npm' - name: Install run: npm ci --ignore-scripts if: steps.version-updated.outputs.has-updated - run: npm run clean if: steps.version-updated.outputs.has-updated - run: npm run build if: steps.version-updated.outputs.has-updated - run: npm publish --ignore-scripts --provenance if: steps.version-updated.outputs.has-updated env: NODE_AUTH_TOKEN: ${{secrets.npm_token}}