.circleci/config.yml
version: 2.1
orbs:
browser-tools: circleci/browser-tools@volatile
codeclimate: sue445/codeclimate@volatile
slack: circleci/slack@3
executors:
ruby:
parameters:
version:
type: string
docker:
- image: cimg/ruby:<< parameters.version >>-browsers
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
CC_TEST_REPORTER_ID: 89b665462d69ce4c873ee8165d496c4a97b9afaaf48e375c1bc3200e4b45b1e7
working_directory: ~/app
jobs:
rspec:
parameters:
version:
type: string
executor:
name: ruby
version: << parameters.version >>
steps:
- browser-tools/install-browser-tools
- checkout
- run: bundle --version
- run: gem --version
- run: google-chrome --version
- run: chromedriver --version
- run: bundle config --local path vendor/bundle
- run: bundle install --jobs=4 --retry=3
- codeclimate/with-cc-test-reporter:
after_build_args: "--coverage-input-type simplecov"
steps:
- run: bundle exec rspec
- slack/notify-on-failure
build_jobs: &build_jobs
- rspec:
matrix:
parameters:
version:
- "3.0"
- "3.1"
- "3.2"
workflows:
version: 2
build:
jobs: *build_jobs
weekly_build:
triggers:
- schedule:
cron: "00 10 * * 5" # JST 19:00 (Fri)
filters:
branches:
only: master
jobs: *build_jobs