なんじゃくにっき

プログラミングの話題中心。

Rubyのgemを作るとデフォルトでgithub actionが作られて、そのままpushすると動くようになっていた

いつからか知らないのですがRubyのgemを作ると、 .github/workflows が作られていて、そのままgithubにpushすると動くようになってちょっと感動しました。 (githubでコード管理しない人には余計なお世話かもしれませんが)

デフォルトでGemfileにRubocopとRSpecが入っていて、 RakefileからRubocopとRSpecが動くようになっているので、push時に動きます。

.github/workflows

name: Ruby

on: [push,pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: 3.0.0
    - name: Run the default task
      run: |
        gem install bundler -v 2.2.0.rc.1
        bundle install
        bundle exec rake

Rakefile

# frozen_string_literal: true

require 'bundler/gem_tasks'
require 'rspec/core/rake_task'

RSpec::Core::RakeTask.new(:spec)

require 'rubocop/rake_task'

RuboCop::RakeTask.new

task default: %i[spec rubocop]

ちょっとだけ修正しないとRubocopとRSpecも落ちるんだけど、この機能良い。