I’m testing CircleCI and so far it looks good. But I’m facing a weird problem with parallelisation.
I’m running a build with 2 containers. And using a bash case statement to select which commands (rspec) to run in each container.
The specs executed in container 0 always work. The specs executed in container 1 always fail. If I move the commands from 1 to 0, they work.
Any idea why this might happen? The steps to get there are the same for both containers, I can’t think of a reason why some fail and some doesn’t. Maybe something on the db setup between containers is different?
I’m using a database configuration taken from the first run I did. You can see it below.
machine: ruby: version: 2.2.6 node: version: 4.2.6 environment: RAILS_ENV: test services: - redis database: override: - cp config/database.circle.yml config/database.yml - bundle exec rake db:create db:schema:load test: pre: - npm run build override: - bundle exec rubocop -c .rubocop_strict.yml - ? | case $CIRCLE_NODE_INDEX in 0) COUNTRY=Germany bundle exec rspec ./spec/features/single_country/de/ COUNTRY=Australia bundle exec rspec ./spec/features/single_country/au/ ;; 1) COUNTRY=France bundle exec rspec ./spec/features/single_country/fr/ COUNTRY=UK bundle exec rspec ./spec/features/single_country/uk/ ;; esac : parallel: true
test: adapter: postgresql encoding: unicode database: circle_ruby_test username: ubuntu pool: 16 host: localhost port: 5432