When I ran CircleCI, I got the following error. (Since it takes a little time to search the log at that time, the command part is not completely reproduced)
$ bundle exec rspec spec/
# Too long with no output (exceeded 10m0s)
The default no-output timeout time is set to 10 minutes, and it seems that the build was canceled because it exceeded this.
In my case, for some reason, RSpec's execution time exceeded 10 minutes and CI stopped. (Usually it takes about one and a half minutes.)
yml:.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
In this way, you can change the default setting by writing the no_output_timeout parameter. In the above example it is 15 minutes.
For example, if the scale of the service becomes large and the test execution time of RSpec becomes long, it seems necessary to change it. (I wish I could scale the service I made for about 10 minutes in the test ...)
By the way, as an aside, it seems that the free build time frame of CircleCI is currently 1000 minutes. (It seems that it was 1500 minutes before) It's a calculation that can be used for building for about 33 minutes a day, so I thought that I could afford it for personal development. However, last month, I was stuck with an error in the production environment, and when I built it all the time, I used up the free frame,
I think it's also because I tried and made errors in tests that passed locally but not in CI.
I can't afford 1000 minutes, isn't it?
I decided not to waste too much. ..
If you have any suggestions, I would appreciate it if you could comment!