Github ActionsでRSpecを実行する

https://github.com/naotospace/bucky-core で設定しました。
[こちらのPR](https://github.com/naotospace/bucky-core/pull/2)で動作確認しました。

## 1. Github Actions Beta 版登録
[https://github.com/features/actions](https://github.com/features/actions)
## 2. .github/workflows/*.ymlを作成
Beta版登録後、Actionsタブが出てきます。
<img width="1033" alt="Screen Shot 2019-10-01 at 21.09.27.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/10800/4ae6a61e-86a9-d283-0aae-58fb41353a4b.png">
Rake実行用のテンプレートを使いました。
<img width="816" alt="Screen Shot 2019-10-01 at 21.09.40.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/10800/6ea7941a-cb62-314b-c9d4-8d22f38a1d44.png">
進めていくとエディットページに遷移します。
<img width="1402" alt="Screen Shot 2019-10-02 at 9.21.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/10800/c3d7a86c-1035-d54b-63ec-b35f71cd31eb.png">


Workflwの記述方法はこちらで確認できます。
[https://help.github.com/en/articles/workflow-syntax-for-github-actions](https://help.github.com/en/articles/workflow-syntax-for-github-actions)


以下masterブランチへのPullRequest時にRSpecを実行するようにしてみた設定例です。

```yml
name: Ruby

# masterブランチへのPR時の実行
on:
  pull_request:
    branches:
    - master
	# ex.
	# # Trigger the workflow on push or pull request
	# on: [push, pull_request]
	# # Trigger the workflow on pull request activity
	# on:
	#   release
	#     # Only use the types keyword to narrow down the activity types that will trigger your workflow.
	#     types: [published, created, edited]

jobs:
  run_spec:
    name: Run spec

    # ジョブを実行する仮想マシンを選択（ubuntu/macOS/Windows)
    runs-on: ubuntu-latest

    steps:
    # actions/checkoutリポジトリのaction.ymlを利用する
    - uses: actions/checkout@v1 # https://github.com/actions/checkout/blob/master/action.yml
		# https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idstepsuses
	    #   @~でバージョンやブランチ、コミットIDを指定できる
	    #   自リポジトリのaction.ymlがあるディレクトリを相対パスで指定することもできる
	    #     ex. uses: ./.github/actions/my-action
	    #   Dockerhubのイメージを利用することもできる
	    #     ex. uses: docker://alpine:3.8
    - name: Set up Ruby 2.6
      # actions/checkoutリポジトリのaction.ymlを利用する
      uses: actions/setup-ruby@v1 # https://github.com/actions/setup-ruby/blob/master/action.yml
      with:
        ruby-version: 2.6.x
    - name: Test with Rspec
      run: |
        gem install bundler
        bundle install --path vendor/bundle --quiet --jobs 4 --retry 3
        bundle exec rspec
```

## 3. Pull Requestを作って確認する
テストPR：[https://github.com/naotospace/bucky-core/pull/2](https://github.com/naotospace/bucky-core/pull/2)


<img width="885" alt="Screen Shot 2019-10-02 at 9.21.47.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/10800/caf526aa-1e81-f15d-8d5c-f76c9811e17b.png">
<img width="1415" alt="Screen Shot 2019-10-02 at 9.22.31.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/10800/85fc56b6-2dd0-326f-dd0d-43d16d374204.png">
<img width="1374" alt="Screen Shot 2019-10-02 at 9.23.28.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/10800/c1f9bac9-03f2-c881-b10e-c7ae1ced1c76.png">
<img width="1032" alt="Screen Shot 2019-10-02 at 9.23.42.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/10800/d2e73ca3-3af2-a9fd-db0b-c466c32c2d2c.png">


## 感想
2分でできた。
仮想マシンでWindows選べるあたりMSと仲良くなったのを感じる。

当たり前だけどGithubと簡単に連携できるのは気持ちいい。
CircleCIも楽だと思っていたけど更に楽。