name: Release on: workflow_run: workflows: ["CI"] types: - completed permissions: contents: write pull-requests: write jobs: release: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' && github.ref == 'refs/heads/master' }} steps: - uses: google-github-actions/release-please-action@v3 id: release with: release-type: node package-name: tree-sitter-objc - uses: actions/checkout@v3 with: token: ${{ secrets.GITHUB_TOKEN }} - name: Update Rust version run: | git fetch origin release-please--branches--master--components--tree-sitter-objc git checkout release-please--branches--master--components--tree-sitter-objc git config user.name github-actions[bot] git config user.email github-actions[bot]@users.noreply.github.com repo_name="${{ github.repository }}" repo_name="${repo_name##*/}" version=$(grep -o '"version": *"[^"]*"' package.json | sed 's/"version": "\(.*\)"/\1/') sed -i "s/version = \"[^\"]*\"/version = \"$version\"/g" Cargo.toml sed -i "s/$repo_name = \"[^\"]*\"/$repo_name = \"$version\"/g" bindings/rust/README.md git add Cargo.toml bindings/rust/README.md git commit --amend --no-edit git push -f - name: Setup Node if: ${{ steps.release.outputs.release_created }} uses: actions/setup-node@v3 with: node-version: 18 registry-url: "https://registry.npmjs.org" - name: Publish to NPM if: ${{ steps.release.outputs.release_created }} env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} run: npm publish - name: Setup Rust if: ${{ steps.release.outputs.release_created }} uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Publish to Crates.io if: ${{ steps.release.outputs.release_created }} uses: katyo/publish-crates@v2 with: registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }} - name: Tag stable versions if: ${{ steps.release.outputs.release_created }} run: | git checkout master git config user.name github-actions[bot] git config user.email github-actions[bot]@users.noreply.github.com git remote add gh-token "https://${{ secrets.GITHUB_TOKEN }}@github.com/google-github-actions/release-please-action.git" git tag -d stable || true git push origin :stable || true git tag -a stable -m "Last Stable Release" git push origin stable