name: Release Please on: push: branches: - master concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: release-please: runs-on: ubuntu-latest outputs: release_created: ${{ steps.release.outputs.release_created }} tag_name: ${{ steps.release.outputs.tag_name }} steps: - uses: googleapis/release-please-action@v4 id: release with: config-file: release-please-config.json manifest-file: .release-please-manifest.json publish: needs: release-please if: ${{ needs.release-please.outputs.release_created }} runs-on: ubuntu-latest environment: PUBLISH permissions: contents: write id-token: write steps: - name: Checkout repository uses: actions/checkout@v4 with: ref: ${{ needs.release-please.outputs.tag_name }} fetch-tags: true - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: '3.4' bundler-cache: true - name: Publish to RubyGems uses: rubygems/release-gem@v1 - name: Upload Gem to GitHub Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: gh release upload ${{ needs.release-please.outputs.tag_name }} ./*.gem --clobber