.circleci/config.yml
version: 2.1
jobs:
build:
parameters:
image-tag:
description: The target docker image
type: string
check-code-quality:
description: Execute style checks in build workflow
type: boolean
default: true
docker:
- image: circleci/<< parameters.image-tag >>
environment:
LANG: en_US.UTF-8
BUNDLE_DISABLE_VERSION_CHECK: 1
steps:
- checkout
- run:
name: Install ruby dependencies
command: gem update --system; bin/setup
- when:
condition: << parameters.check-code-quality >>
steps:
- run:
name: Install Code Climate test-reporter
command: |
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
- run:
name: Prepare Code Climate test-reporter
command: ./cc-test-reporter before-build
- run:
name: Execute specs
command: bundle exec rake
- when:
condition: << parameters.check-code-quality >>
steps:
- run:
name: Report coverage
command: ./cc-test-reporter after-build --exit-code $?
workflows:
build:
jobs:
- build:
matrix:
parameters:
image-tag:
- "ruby:2.6"
version-check:
jobs:
- build:
matrix:
parameters:
image-tag:
- "ruby:2.7"
- "ruby:3.0"
- "ruby:latest"
- "jruby:latest"
check-code-quality:
- false