Chef15になったらTravis CIが全部コケた
掲題の通りです。かなしい。
ログを確認してみたところ、Chefのライセンスに同意する?っていうプロンプトが出ているようでした。
gist6e5b13d2544dbcc89235005714909790
きっとtest-kitchenにissueあるでしょ、と思って確認してみたところ、やはりありました。
どうやら今までは環境変数でライセンスに同意できていたところができなくなった、というものだった模様。
コメントで「こうやったらできたよ」っていうのがありました。
gist955d4b43a90d2ac8b2114fa3f4ce2bf5
その後メンテナのtas50氏から「Chefのライセンス同意はtest-kitchen v1系では対応してないからバックポートすることにするわ」というコメントがつき、対応するPull Requestが作成されました。
test-kitchenの依存をv2系にしても手元ではテストを通せますが、Travis上でインストールされるChefのgemには入れていないのでこれだけでは直らず…
Travisで動くtest-kitchenのバージョンを上げること自体は問題ないと判断し、embedded chefのRubyに最新のtest-kitchenをインストールしました。
注意点としては chef shell-init している時点でEULAの同意が必要となるため、global環境変数を設定しておくことくらいでしょうか。
これでkitchen testしてみたところ、無事ライセンスに同意できてテストが走りました。めでたしめでたし。