pry--pry/.circleci/config.yml

197 lines
4.5 KiB
YAML

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:
- ~/pry
bundle_install: &bundle_install
run:
name: Install Bundler dependencies
command: bundle install --path ~/pry/vendor/bundle --jobs 15
unit: &unit
run:
name: Run unit tests
command: bundle exec rake
environment:
# Make sure TERM is set so Pry can indent correctly inside tests.
TERM: screen-256color
install_alpine_nano: &install_alpine_nano
run:
name: Install Nano text editor on Alpine Linux
command: apk add nano
install_ubuntu_nano: &install_ubuntu_nano
run:
name: Install Nano text editor on Ubuntu
command: sudo apt-get install nano
jobs:
rubocop_lint:
docker:
- image: circleci/ruby:2.6
working_directory: ~/pry
steps:
- checkout
- <<: *repo_save_cache
- <<: *bundle_install
- run:
name: Run RuboCop linting
command: bundle exec rubocop --parallel
yard_lint:
docker:
- image: circleci/ruby:2.6
working_directory: ~/pry
steps:
- checkout
- <<: *repo_save_cache
- <<: *bundle_install
- run:
name: Run YARD linting
command: bundle exec yardoc --fail-on-warning --no-progress
"ruby-1.9":
docker:
- image: kyrylo/ruby-1.9.3p551
working_directory: /home/circleci/pry
steps:
- <<: *repo_restore_cache
- <<: *bundle_install
- <<: *install_alpine_nano
- <<: *unit
"ruby-2.0":
docker:
- image: kyrylo/ruby-2.0.0p648
working_directory: /home/circleci/pry
steps:
- <<: *repo_restore_cache
- <<: *bundle_install
- <<: *install_alpine_nano
- <<: *unit
"ruby-2.1":
docker:
- image: circleci/ruby:2.1
working_directory: ~/pry
steps:
- <<: *repo_restore_cache
- <<: *bundle_install
- <<: *install_ubuntu_nano
- <<: *unit
"ruby-2.2":
docker:
- image: circleci/ruby:2.2
working_directory: ~/pry
steps:
- <<: *repo_restore_cache
- <<: *bundle_install
- <<: *install_ubuntu_nano
- <<: *unit
"ruby-2.3":
docker:
- image: circleci/ruby:2.3
working_directory: ~/pry
steps:
- <<: *repo_restore_cache
- <<: *bundle_install
- <<: *install_ubuntu_nano
- <<: *unit
"ruby-2.4":
docker:
- image: circleci/ruby:2.4
working_directory: ~/pry
steps:
- <<: *repo_restore_cache
- <<: *bundle_install
- <<: *install_ubuntu_nano
- <<: *unit
"ruby-2.5":
docker:
- image: circleci/ruby:2.5
working_directory: ~/pry
steps:
- <<: *repo_restore_cache
- <<: *bundle_install
- <<: *install_ubuntu_nano
- <<: *unit
"ruby-2.6":
docker:
- image: circleci/ruby:2.6
working_directory: ~/pry
steps:
- <<: *repo_restore_cache
- <<: *bundle_install
- <<: *install_ubuntu_nano
- <<: *unit
"jruby-9.1-jdk":
docker:
- image: circleci/jruby:9.1-jdk
working_directory: ~/pry
steps:
- <<: *repo_restore_cache
- <<: *bundle_install
- <<: *install_ubuntu_nano
- <<: *unit
"jruby-9.2-jdk":
docker:
- image: circleci/jruby:9.2-jdk
working_directory: ~/pry
steps:
- <<: *repo_restore_cache
- <<: *bundle_install
- <<: *install_ubuntu_nano
- <<: *unit
workflows:
version: 2
build:
jobs:
- rubocop_lint
- yard_lint
- "ruby-1.9":
requires:
- rubocop_lint
- yard_lint
- "ruby-2.0":
requires:
- rubocop_lint
- yard_lint
- "ruby-2.1":
requires:
- rubocop_lint
- yard_lint
- "ruby-2.2":
requires:
- rubocop_lint
- yard_lint
- "ruby-2.3":
requires:
- rubocop_lint
- yard_lint
- "ruby-2.4":
requires:
- rubocop_lint
- yard_lint
- "ruby-2.5":
requires:
- rubocop_lint
- yard_lint
- "ruby-2.6":
requires:
- rubocop_lint
- yard_lint
- "jruby-9.1-jdk":
requires:
- rubocop_lint
- yard_lint
- "jruby-9.2-jdk":
requires:
- rubocop_lint
- yard_lint