Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- version: 2
- jobs:
- build:
- parallelism: 3
- docker:
- - image: circleci/ruby:2.4-node
- environment:
- BUNDLE_JOBS: 3
- BUNDLE_RETRY: 3
- BUNDLE_PATH: vendor/bundle
- PGHOST: 127.0.0.1
- PGUSER: circleci-demo-ruby
- RAILS_ENV: test
- - image: circleci/postgres:9.5-alpine
- environment:
- POSTGRES_USER: circleci-demo-ruby
- POSTGRES_DB: rails_blog
- POSTGRES_PASSWORD: ""
- steps:
- - checkout
- # Which version of bundler?
- - run:
- name: Which bundler?
- command: bundle -v
- # Restore bundle cache
- - restore_cache:
- keys:
- - rails-demo-bundle-v2-{{ checksum "Gemfile.lock" }}
- - rails-demo-bundle-v2-
- - run:
- name: Bundle Install
- command: bundle check || bundle install
- # Store bundle cache
- - save_cache:
- key: rails-demo-bundle-v2-{{ checksum "Gemfile.lock" }}
- paths:
- - vendor/bundle
- # Only necessary if app uses webpacker or yarn in some other way
- - restore_cache:
- keys:
- - rails-demo-yarn-{{ checksum "yarn.lock" }}
- - rails-demo-yarn-
- - run:
- name: Yarn Install
- command: yarn install --cache-folder ~/.cache/yarn
- # Store yarn / webpacker cache
- - save_cache:
- key: rails-demo-yarn-{{ checksum "yarn.lock" }}
- paths:
- - ~/.cache/yarn
- - run:
- name: Wait for DB
- command: dockerize -wait tcp://localhost:5432 -timeout 1m
- - run:
- name: Database setup
- command: bin/rails db:schema:load --trace
- # Run rspec in parallel
- - type: shell
- command: |
- bundle exec rspec --profile 10 \
- --format RspecJunitFormatter \
- --out test_results/rspec.xml \
- --format progress \
- $(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
- # Save test results for timing analysis
- - store_test_results:
- path: test_results
Add Comment
Please, Sign In to add comment