version: 2.1 orbs: ruby: circleci/ruby@0.2.1 sonarcloud: sonarsource/sonarcloud@1.0.1 jobs: "rubocop": docker: - image: circleci/ruby:2.7-node steps: - checkout - ruby/load-cache - ruby/install-deps - run: name: Run Rubocop command: bundle exec rubocop - ruby/save-cache "ruby-two-five": docker: - image: circleci/ruby:2.5 steps: - checkout - ruby/load-cache - run: name: update bundler command: gem update bundler - ruby/install-deps - ruby/run-tests - ruby/save-cache "ruby-two-six": docker: - image: circleci/ruby:2.6 steps: - checkout - ruby/load-cache - run: name: update bundler command: gem update bundler - ruby/install-deps - ruby/run-tests - ruby/save-cache "ruby-two-seven": docker: - image: circleci/ruby:2.7 - image: memcached:1.5-alpine steps: - checkout - ruby/load-cache - ruby/install-deps - ruby/run-tests - ruby/save-cache "sonarcloud": docker: - image: circleci/ruby:2.7 steps: - checkout - ruby/load-cache - ruby/install-deps - ruby/run-tests - run: name: Run Rubocop command: bundle exec rubocop --format=json --out=rubocop-result.json - sonarcloud/scan - ruby/save-cache workflows: version: 2 rubocop-rspec: jobs: - rubocop - ruby-two-five: requires: - rubocop - ruby-two-six: requires: - ruby-two-five - ruby-two-seven: requires: - ruby-two-five - sonarcloud: requires: - ruby-two-seven - ruby-two-six