Travis CI で Mini_racer と Mysql を使うビルドが失敗する

rails プロジェクトの CI に Travis CI を利用しているが、ある日 mini_racer を Gemfile に追加してビルドを試みたところ、bundle install で Gem::Ext::BuildError: ERROR: Failed to build gem native extension. なエラーが出てしまった。

Travis CI のデフォルトの環境では mini_racer が入らないってことのようで、mini_racer の README.md には下記の対応方法が記載されている。

sudo: required
dist: trusty

これで実際に、mini_racer は install 出来るようになる。

ただ、rails のプロジェクトの DB として mysql を使っていたため、新たに別の問題が発生する。
2017年2月の時点で、Trusty の環境には mysql が入ってないので rake db:migrate あたりで DB に接続できませんということでビルドが失敗する。

この辺の issue など参考にしながら、ひとまず mysql を自分で入れるってことと、mysql の接続ユーザを root にする事で回避した。

dist: trusty
sudo: required
addons:
  apt:
    packages:
    - mysql-server-5.6
    - mysql-client-core-5.6
    - mysql-client-5.6

きびしい。

参考