version: 2 references: unit: &unit run: name: Run test suite command: bundle exec rake restore: &restore restore_cache: keys: - v1-dependencies-{{ checksum "Gemfile.lock" }} # fallback to using the latest cache if no exact match is found - v1-dependencies- bundle: &bundle run: name: install dependencies command: | bundle install --jobs=4 --retry=3 --path vendor/bundle save: &save save_cache: paths: - ./vendor/bundle key: v1-dependencies-{{ checksum "Gemfile.lock" }} jobs: "ruby-2.5": docker: - image: circleci/ruby:2.5 - image: circleci/redis:4.0 steps: - checkout - <<: *restore - <<: *bundle - <<: *save - <<: *unit "ruby-2.6": environment: COVERAGE: true CC_TEST_REPORTER_ID: #MISSING_ID_HERE docker: - image: circleci/ruby:2.6 - image: circleci/redis:4.0 steps: - checkout - <<: *restore - <<: *bundle - <<: *save - run: name: Setup Code Climate test-reporter command: | # download test reporter as a static binary curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter chmod +x ./cc-test-reporter - run: name: Code Climate before-build command: | ./cc-test-reporter before-build - <<: *unit - run: name: Report code coverage to Code Climate command: | ./cc-test-reporter after-build -t simplecov --exit-code $? "jruby": docker: - image: circleci/jruby:latest - image: circleci/redis:4.0 steps: - checkout - <<: *restore - <<: *bundle - <<: *save - <<: *unit workflows: version: 2 build: jobs: - "ruby-2.5" - "ruby-2.6" - "jruby"