name: Release gem

on:

workflow_run:
  workflows: [Tests]
  types: [completed]
  branches: [main]

permissions:

contents: write
pull-requests: write

jobs:

release-if-needed:
  if: ${{ github.event.workflow_run.conclusion == 'success' }}
  runs-on: ubuntu-latest
  steps:
    - name: Create Release PR
      uses: google-github-actions/release-please-action@v3
      id: release
      with:
        release-type: ruby
        package-name: yabeda-honeybadger_insights
        version-file: lib/yabeda/honeybadger_insights/version.rb

    - uses: actions/checkout@v4

    - name: Set up Ruby
      uses: ruby/setup-ruby@v1
      with:
        bundler-cache: true

    - name: Publish gem
      if: ${{ steps.release.outputs.release_created }}
      run: |
        mkdir -p $HOME/.gem
        touch $HOME/.gem/credentials
        chmod 0600 $HOME/.gem/credentials
        printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
        gem build *.gemspec
        gem push *.gem
      env:
        GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"