# Ruby CircleCI 2.0 configuration file # # Check https://circleci.com/docs/2.0/language-ruby/ for more details # version: 2 jobs: build: docker: # specify the version you desire here - image: circleci/ruby:2.5.0-node-browsers # Specify service dependencies here if necessary # CircleCI maintains a library of pre-built images # documented at https://circleci.com/docs/2.0/circleci-images/ # - image: circleci/postgres:9.4 working_directory: ~/repo steps: - checkout - run: name: submodule sync command: | git submodule sync git submodule update --init # Download and cache dependencies - restore_cache: keys: - v1-dependencies-{{ checksum "Gemfile" }} # fallback to using the latest cache if no exact match is found - v1-dependencies- # Thanks: https://discuss.circleci.com/t/using-bundler-2-0-during-ci-fails/27411/3 - run: name: configure bundler command: | echo 'export BUNDLER_VERSION=$(cat Gemfile.lock | tail -1 | tr -d " ")' >> $BASH_ENV source $BASH_ENV gem install bundler - run: name: install dependencies command: | bundle install --jobs=4 --retry=3 --path vendor/bundle - save_cache: paths: - ./vendor/bundle key: v1-dependencies-{{ checksum "Gemfile" }} # specs need git configured ad commit_docs.sh required it also - run: name: configure git command: | git config --global user.email "tongueroo@gmail.com" git config --global user.name "Tung Nguyen" # run tests! - run: name: run tests command: | mkdir /tmp/test-results bundle exec rspec - run: name: commit cli reference docs command: | chmod a+x -R .circleci/bin .circleci/bin/commit_docs.sh # collect reports - store_test_results: path: /tmp/test-results - store_artifacts: path: /tmp/test-results destination: test-results