Skip to content

Ruby Gem

Ruby Gem #18

Workflow file for this run

name: Ruby Gem
on: workflow_dispatch
jobs:
build:
name: Build + Publish
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v3
- name: Set up Ruby 3.2
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
# change this to (see https://github.com/ruby/setup-ruby#versioning):
# uses: ruby/setup-ruby@v1
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
with:
ruby-version: 3.2.2
- name: Get Gem Version
id: get-version
run: |
VERSION=$(ruby -r './lib/grape/idempotency/version.rb' -e "puts Grape::Idempotency::VERSION")
echo "::set-output name=version::$VERSION"
shell: bash
- name: Publish to RubyGems
run: |
gem fetch grape-idempotency -v ${{ steps.get-version.outputs.version }}
if [ $? -eq 1 ]; then
echo "Gem version already exists on RubyGems. Skipping the push to RubyGems."
exit 0
fi
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
shell: bash
env:
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"