name: Build
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Ruby
uses: actions/setup-ruby@v1
with:
ruby-version: 2.6.x
- name: Install bundler
run: gem install bundler
- name: Install dependencies
run: bundle install
- name: Test
run: bundle exec rspec
Make sure to configure RUBYGEMS_TOKEN
and set version.rb
to 0.0.0
.
name: Publish
on:
release:
types: [published]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Ruby
uses: actions/setup-ruby@v1
with:
ruby-version: 2.6.x
- name: Install bundler
run: gem install bundler
- name: Install dependencies
run: bundle install
- name: Test
run: bundle exec rspec
- name: Set version
run: perl -pi -e "s/0\.0\.0/${GITHUB_REF:11}/" lib/*/version.rb
- name: Publish
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${RUBYGEMS_TOKEN}\n" > $HOME/.gem/credentials
gem build *.gemspec
gem push *.gem
env:
RUBYGEMS_TOKEN: ${{ secrets.RUBYGEMS_TOKEN }}