# Ruby CircleCI 2.0 configuration file # # Check https://circleci.com/docs/2.0/language-ruby/ for more details # version: 2 default: &default docker: - image: ruby environment: # c.f. https://github.com/ffaker/ffaker/issues/277#issuecomment-263519146 LANG: en_US.UTF-8 LANGUAGE: en_US.UTF-8 LC_ALL: C.UTF-8 BUNDLE_PATH: vendor/bundle BUNDLE_JOBS: 4 working_directory: ~/app restore_repo_cache_option: &restore_repo_cache_option key: v1-repo-{{ .Environment.CIRCLE_SHA1 }} save_repo_cache_option: &save_repo_cache_option key: v1-repo-{{ .Environment.CIRCLE_SHA1 }} paths: - ~/app restore_bundle_cache_option: &restore_bundle_cache_option keys: - v3-bundle-{{ .Environment.CIRCLE_JOB }}-{{ checksum "itest5ch.gemspec" }} - v3-bundle-{{ .Environment.CIRCLE_JOB }} save_bundle_cache_option: &save_bundle_cache_option key: v3-bundle-{{ .Environment.CIRCLE_JOB }}-{{ checksum "itest5ch.gemspec" }} paths: - ~/app/vendor/bundle - ~/app/Gemfile.lock rspec_steps: &rspec_steps - restore_cache: <<: *restore_repo_cache_option - restore_cache: <<: *restore_bundle_cache_option - run: ./.circleci/setup.sh - save_cache: <<: *save_bundle_cache_option - run: bundle exec rspec build_jobs: &build_jobs - checkout_code - rspec:2.3: requires: - checkout_code - rspec:2.4: requires: - checkout_code - rspec:2.5: requires: - checkout_code - rubocop: requires: - checkout_code jobs: checkout_code: <<: *default steps: - checkout - save_cache: <<: *save_repo_cache_option rspec:2.3: <<: *default docker: - image: ruby:2.3 steps: *rspec_steps rspec:2.4: <<: *default docker: - image: ruby:2.4 steps: *rspec_steps rspec:2.5: <<: *default docker: - image: ruby:2.5 steps: *rspec_steps rubocop: <<: *default steps: - restore_cache: <<: *restore_repo_cache_option - restore_cache: <<: *restore_bundle_cache_option - run: ./.circleci/setup.sh - save_cache: <<: *save_bundle_cache_option - run: bundle exec rubocop workflows: version: 2 build: jobs: *build_jobs weekly_build: triggers: - schedule: cron: "00 19 * * 5" # JST 4:00 (Sat) filters: branches: only: master jobs: *build_jobs