CircleCIがコケたので調べてみた
発生したエラー
#!/bin/bash -eo pipefail
psql -U hoge_user -d hoge_db -h localhost -f database/sql/create_tables.sql
SET
SET
SET
SET
SET
WARNING: terminal is not fully functional
set_config
------------
(1 row)
(END)Too long with no output (exceeded 10m0s)
テスト用データベースの構築の途中で入力待ちになりタイムアウトしたようだ。
※migrationを利用できない環境で、データベースとテーブルの構築をsql文で実行している
入力待ちになるのは困るので、解決策を探す。
対応
psqlで利用するPAGERをlessからcatに変えて対応している人を見つけた。
database - Rails: rake db:structure:load times out on CircleCI 2.0 - Stack Overflow
jobs:
build:
docker:
- image: MY_APP_IMAGE
environment:
PAGER: cat # prevent psql commands using less
無事解決できました。
PAGERが変わってしまったのはおそらくPostgresqlの環境を9から10に変えて、なにかしら設定が変わってしまったのかと思いますが、深くは追っていません。