wordexp/.circleci/config.yml

81 lines
1.8 KiB
YAML

version: 2.1
executors:
ruby:
parameters:
version:
description: "Ruby version number"
default: "4.0.0"
type: string
docker:
- image: cimg/ruby:<< parameters.version >>
commands:
bundle_install:
description: Install Ruby dependencies with Bundler
parameters:
version:
description: "Ruby version number"
default: "4.0.0"
type: string
steps:
- restore_cache:
keys:
- bundle-v1-{{ arch }}-<< parameters.version >>
- run:
name: Install Ruby Dependencies
command: |
bundle config --local path vendor/bundle
bundle check || (bundle install --jobs=8 --retry=3 && bundle clean)
- save_cache:
paths:
- ./vendor/bundle
key: bundle-v1-{{ arch }}-<< parameters.version >>-{{ checksum "Gemfile.lock" }}
jobs:
rubocop:
executor: ruby
steps:
- checkout
- bundle_install
- run: bundle exec rubocop
test:
parameters:
version:
description: "Ruby version number"
default: "4.0.0"
type: string
executor:
name: ruby
version: << parameters.version >>
steps:
- checkout
- bundle_install:
version: << parameters.version >>
- run: bundle exec rake test
- store_test_results:
path: ./reports
workflows:
version: 2
commit-workflow:
jobs:
- rubocop
- test:
matrix:
parameters:
version: ["3.2.9", "3.3.10", "3.4.8", "4.0.0"]
cron-workflow:
jobs:
- rubocop
- test:
matrix:
parameters:
version: ["3.2.9", "3.3.10", "3.4.8", "4.0.0"]
triggers:
- schedule:
cron: "0 13 * * 6"
filters:
branches:
only:
- main