name: release-please on: push: branches: - main permissions: contents: write pull-requests: write id-token: write jobs: release-please: permissions: contents: write pull-requests: write runs-on: ubuntu-latest steps: - uses: googleapis/release-please-action@v4 id: release with: token: ${{ secrets.GITHUB_TOKEN }} - uses: actions/checkout@v4 if: ${{ steps.release.outputs.release_created }} - uses: actions/setup-node@v4 with: node-version: "20" registry-url: "https://registry.npmjs.org" if: ${{ steps.release.outputs.release_created }} - run: npm ci if: ${{ steps.release.outputs.release_created }} - name: Install protoc run: | sudo apt-get update sudo apt-get install -y unzip curl -OL https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protoc-21.12-linux-x86_64.zip unzip protoc-21.12-linux-x86_64.zip -d protoc21 sudo mv protoc21/bin/protoc /usr/local/bin/ if: ${{ steps.release.outputs.release_created }} - name: Publish to NPM run: | npm publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} if: ${{ steps.release.outputs.release_created }} - name: Publish to JSR run: | npm run build --if-present npx jsr publish if: ${{ steps.release.outputs.release_created }}