あとそろそろ各社の Rails 5.1 対応が気になるこの頃、勤務先の Ruby と Rails の利用バージョンを見ていたりもしていた。
1回休み
富山から東京に来ている同僚と晩御飯を食べつつ一回休み。
OSSにパッチを出すため動かし方 (Travis CI / Appraisals 編)
Pull Request を出すまでの流れ。例題として RailsAdmin の v1.1.1 を挙げる (master だとそのうちサンプルとしているコードが変わるので) 。
まずはテストの実行まで
途中の手順4でテストが落ちるという出来レースの話があって、そこからが人によって少しお役立ち情報かもしれない。
1. ローカルに持ってくる
なにはなくとも手元になければ、
% ghq get https://github.com/sferik/rails_admin
もしくは、
% git clone https://github.com/sferik/rails_admin
を実行する。
ghq と gem-src を使ったりなどで既に手元にあれば git pull origin master
なんかで最新のコードにする。
2. bundle install する
% bundle install
3. .travis を見る
テストを実行するにあたり .travis の before_script
に書かれているものを確認する。
before_script: - cd spec/dummy_app - bundle exec rake rails_admin:prepare_ci_env db:create db:migrate - cd ../../
このように記されている場合はテストの事前準備として書かれているように実行する。
注意点として、CI ではテスト環境が使われるためここの bundle exec rake rails_admin:prepare_ci_env db:create db:migrate
では、RAILS_ENV=test bundle exec rake rails_admin:prepare_ci_env db:create db:migrate
と環境変数を指定すると良い。
4. bundle exec rake
あとはテストを実行してグリーンになることを確認する。
% bundle exec rake
そして、この例だと PaperTrail
まわりのテストが落ちてグリーンにならなかったと思う。
Appraisals を使う
ここから後出しジャンケンっぽい延長。
RailsAdmin では Appraisals という Gem を使って複数の Rails のバージョンのテストができるようになっている。
Appraisals の詳細は公式ページやインターネットに任せてざっくりと書く。
延長1. Appraisals というファイルを見る
例えば rails-5.0 向けテストをするため、そのための `bundle install` をするとする。
見るべきポイントとしては、ディレクトリルートの Appraisals ファイルとなり、そこに書かれた appraise "rails-5.0" do
の "rails-5.0"
という値を使って以下のように bundle install
を実行する。
延長2. appraisal を使った bundle install
appraisal
を使って rails-5.0 向けの bundle install
となる。
% appraisal rails-5.0 bundle install
延長3. appraisal を使ったテストの実行
テストも同じように appraisal
を使った実行をする。
% appraisal rails-5.0 bundle exec rake
これでテストがグリーンになったと思う。 こういった感じで、変更に応じてローカルでテストが通ることを確認しつつ PR に進んで行くことになる。
1回休み
体力が切れていたため1回休み。
Fate/Grand Order Gutentag Omenをクリアした
年一回のお祭りなので全159サーヴァントゲットでクリアしておいた。 翌00:00を持ってサービス終了という例年の割り切りっぷりが流石。
サービスというのは継続することで儲ける必要のあるものかどうかという意義と、サービス終了まで速いか遅いかというライフサイクルは切り離して (あるいは組み替えて) 考えることができるかもしれないという面白い例だと思う。
2016年卒の一年の成長ふりかえり
勤務先に新卒氏が入社して一年の節目ということで行なった。
一年前の入社時と現在を比べて「できなかった」が「できるようになった」ことをホワイトボードに書き出すといったことを軸に進めていた。
漠然とした「やったこと」がないから「やったことがある」に変わるのは過ごした時間に対して増分する成長といえるが、「コミットメッセージに対して Why を考えて書くようになった」や「git 操作でできることが増えた」というのは、システムのメンテナンスに対して自分の頭で考えて過ごした濃度の上がった時間に対する成長かなと思っている。
来月からは任期一年の新卒氏の称号がなくなった世界を楽しんで成長してもらいたい。