version: 2 references: repo_restore_cache: &repo_restore_cache restore_cache: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} repo_save_cache: &repo_save_cache save_cache: key: repo-{{ .Environment.CIRCLE_SHA1 }}-{{ epoch }} paths: - ~/method_source bundle_install: &bundle_install run: name: Install Bundler dependencies command: bundle install --path ~/method_source/vendor/bundle --jobs 15 unit: &unit run: name: Run unit tests command: bundle exec rake jobs: "ruby-1.9": docker: - image: kyrylo/ruby-1.9.3p551 working_directory: /home/circleci/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit "ruby-2.0": docker: - image: kyrylo/ruby-2.0.0p648 working_directory: /home/circleci/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit "ruby-2.1": docker: - image: circleci/ruby:2.1 working_directory: ~/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit "ruby-2.2": docker: - image: circleci/ruby:2.2 working_directory: ~/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit "ruby-2.3": docker: - image: circleci/ruby:2.3 working_directory: ~/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit "ruby-2.4": docker: - image: circleci/ruby:2.4 working_directory: ~/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit "ruby-2.5": docker: - image: circleci/ruby:2.5 working_directory: ~/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit "ruby-2.6": docker: - image: circleci/ruby:2.6 working_directory: ~/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit "ruby-2.7": docker: - image: circleci/ruby:2.7.0 working_directory: ~/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit "jruby-9.1-jdk": docker: - image: circleci/jruby:9.1-jdk working_directory: ~/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit "jruby-9.2-jdk": docker: - image: circleci/jruby:9.2-jdk working_directory: ~/method_source steps: - checkout - <<: *repo_restore_cache - <<: *bundle_install - <<: *unit workflows: version: 2 build: jobs: - "ruby-1.9" - "ruby-2.0" - "ruby-2.1" - "ruby-2.2" - "ruby-2.3" - "ruby-2.4" - "ruby-2.5" - "ruby-2.6" - "ruby-2.7" - "jruby-9.1-jdk" - "jruby-9.2-jdk"