2020-02-10 [長年日記]
_ GitHub ActionsでRailsアプリを動かす
結論を先に書くと、以下のファイルを配置すればいい。もしくはGitHubリポジトリからActionsタブ、そしてSet up a workflow yourselfから進んで以下を入れる。
name: Rails Tests
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Ruby 2.7
uses: actions/setup-ruby@v1
with:
ruby-version: 2.7
- name: Build and test
env:
RAILS_ENV: test
run: |
sudo apt-get -yqq install libsqlite3-dev
gem install bundler
bundle install --jobs 4 --retry 3
bundle exec rails db:create
bundle exec rails db:migrate
yarn install
bundle exec rails test # minitest
bundle exec rails test:system # minitest
以下、メモ。
GitHubActionsでは基本、actions/ のものが公式部品のようだ。
-
https://github.com/actions/checkout
- 基本パック的なもの
-
https://github.com/actions/setup-ruby
- Ruby
-
https://github.com/actions/setup-node
- Node
- 今回はつかわなくても動いた
-
sqlite3をaptで入れて動かす設定
-
yarn installコマンドがないとwebpackerエラーになった
-
yarnとChrome はデフォルトで入っている
-
rails test:systemを実行するときにはChromeをheadless設定にしないとエラーになった
Selenium::WebDriver::Error::UnknownError: unknown error: Chrome failed to start: exited abnormally
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
以下の記事を参考にしました。ありがとうございました。いわさきさんのactons/setup-rubyの記事は前に読んでたので、eregonさんらによって先週頃にactons/setup-rubyが修正されたのはありがたかったです。