version: 2.1 orbs: ruby: circleci/ruby@1.1.2 sonarcloud: sonarsource/sonarcloud@1.0.2 jobs: "rubocop": docker: - image: cimg/ruby:2.7 steps: - checkout - restore_cache: key: "bundler cache mri" - run: bundle update - run: bundle exec rubocop --format=json --out=rubocop-result.json - store_test_results: path: rubocop-result.json - sonarcloud/scan - run: bundle exec rubocop - save_cache: key: "bundler cache mri" paths: - "/usr/local/bundle" "ruby-two-five": docker: - image: cimg/ruby:2.5 steps: - checkout - restore_cache: key: "bundler cache mri" - run: bundle update - save_cache: key: "bundler cache mri" paths: - "/usr/local/bundle" - run: bundle exec rspec --format progress --format RspecJunitFormatter -o rspec-results.xml - store_test_results: path: rspec-results.xml - sonarcloud/scan "ruby-two-six": docker: - image: cimg/ruby:2.6 steps: - checkout - restore_cache: key: "bundler cache mri" - run: bundle update - save_cache: key: "bundler cache mri" paths: - "/usr/local/bundle" - run: bundle exec rspec --format progress --format RspecJunitFormatter -o rspec-results.xml - store_test_results: path: rspec-results.xml - sonarcloud/scan "ruby-two-seven": docker: - image: circleci/ruby:2.7 steps: - checkout - restore_cache: key: "bundler cache mri" - run: bundle update - save_cache: key: "bundler cache mri" paths: - "/usr/local/bundle" - run: bundle exec rspec --format progress --format RspecJunitFormatter -o rspec-results.xml - store_test_results: path: rspec-results.xml - sonarcloud/scan "jruby92-11jdk": docker: - image: circleci/jruby:9.2-jre11 steps: - checkout - restore_cache: key: "bundler cache jruby92-11jdk" - run: bundle update - save_cache: key: "bundler cache jruby92-11jdk" paths: - "/usr/local/bundle" - run: bundle exec rspec --format progress --format RspecJunitFormatter -o rspec-results.xml - store_test_results: path: rspec-results.xml - sonarcloud/scan "jruby92-14jdk": docker: - image: circleci/jruby:9.2-jdk14 steps: - checkout - restore_cache: key: "bundler cache jruby92-14jdk" - run: bundle update - save_cache: key: "bundler cache jruby92-14jdk" paths: - "/usr/local/bundle" - run: bundle exec rspec --format progress --format RspecJunitFormatter -o rspec-results.xml - store_test_results: path: rspec-results.xml - sonarcloud/scan 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 - jruby92-11jdk: requires: - ruby-two-five - jruby92-14jdk: requires: - ruby-two-five