name: Releasing Ruby Gem

on:

release:
types: [created]
workflow_dispatch:

jobs:

build:
name: Publish
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5
- name: Set up Ruby 3.3
  uses: ruby/[email protected]
  with:
    ruby-version: '3.3'
    bundler-cache: true
    cache-version: 0

- name: Publish to GPR
  run: |
    mkdir -p $HOME/.gem
    touch $HOME/.gem/credentials
    chmod 0600 $HOME/.gem/credentials
    printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
    gem build *.gemspec
    gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
  env:
    GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}"
    OWNER: ${{ github.repository_owner }}

- name: Publish to RubyGems
  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}}"