name: Publish to NPM on: push: tags: - '*' jobs: build: runs-on: node steps: - uses: actions/checkout@v4 - name: Use Node.js uses: actions/setup-node@v4 with: node-version: 20.x - run: yarn install --frozen-lockfile - run: yarn build - run: yarn test - run: yarn lint package: needs: build runs-on: node steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20.x - run: yarn install --frozen-lockfile - run: yarn build - run: yarn package - name: Upload Binary uses: actions/upload-artifact@v4 with: path: bin/ if-no-files-found: error publish: needs: package runs-on: node steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 20.x - uses: https://github.com/JS-DevTools/npm-publish@v3 with: token: ${{ secrets.NPM_TOKEN }}