5
1

More than 3 years have passed since last update.

CircleCIでToo long with no output (exceeded 10m0s)というエラーが出たときの解決方法

Posted at

CircleCIを実行したら以下のようなエラーがでました。
(当時のログを探すのに少し時間がかかるため、commandの部分は完全再現してません)

$ bundle exec rspec spec/

# Too long with no output (exceeded 10m0s)

デフォルトの無出力タイムアウト時間は10分に設定されており、これをこえてしまったためビルドが取り消されてしまったようです。

僕の場合は、なんらかが原因でRSpecの実行時間が10分超えてしまい、CIが停止してしまっていました。
(通常は1分半とかでおわります。)

.circleci/config.yml

 - run:
          name: run rspec
          command: |
            mkdir /tmp/test-results
            TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | \
              circleci tests split --split-by=timings)"
            bundle exec rspec \
              --format progress \
              --format RspecJunitFormatter \
              --out /tmp/test-results/rspec.xml \
              --format progress \
              $TEST_FILES
          no_output_timeout: 15m

このように、 no_output_timeoutパラメーターを記述することでデフォルトの設定を変更できます。
上の例では15分です。

例えばですが、サービスの規模が大きくなってきてRSpecのテスト実行時間が長くなったりしたら変えてあげる必要がありそうですね。(テストで10分かかるぐらい自分の作ったサービスがスケールできたらいいなぁ、、)

因みに余談ですが、現在CircleCIの無料ビルド時間枠は1000分らしいです。(前は1500分だったらしい)
一日約33分ビルドに使える計算なので、個人開発なら余裕だろと思ってました。しかし、先月、本番環境のエラーで詰まったりしてやたらにビルドしまくってたら無料枠使い切ってしまいました、、

ローカルでは通るのに、CIでは通らないテストをトライ&エラーしまくったのも原因だと思います。

1000分って意外と余裕ないですね、、

あまり無駄遣いしないようにしていこうと思いました。。

参考

circleci Support

最後まで読んでいただきありがとうございます!

なにかご指摘などあればコメントいただけますと嬉しいです!

5
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1