diff options
author | Kyrylo Silin <silin@kyrylo.org> | 2018-10-16 04:06:45 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-16 04:06:45 +0800 |
commit | a770c9cb7487048f9cf5421c9e0e312e24271935 (patch) | |
tree | 5a0a81167064a62d22edbced9c5b79d6bd3ad94b | |
parent | 422a5bf640db31ec375ab7f0a42fe5b4361432db (diff) | |
parent | 7ed97b0f59e401f125ed512b336d80d08c530454 (diff) | |
download | pry-a770c9cb7487048f9cf5421c9e0e312e24271935.tar.gz |
Merge pull request #1802 from pry/circleci
Test with help of CircleCI
-rw-r--r-- | .circleci/config.yml | 170 | ||||
-rw-r--r-- | Gemfile | 3 |
2 files changed, 170 insertions, 3 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..c30b937b --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,170 @@ +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.5 + 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.5 + 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 + "jruby-9.1-jdk": + docker: + - image: circleci/jruby:9.1-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 + - "jruby-9.1-jdk": + requires: + - rubocop_lint + - yard_lint @@ -2,12 +2,9 @@ source 'https://rubygems.org' gemspec gem 'rake', '~> 10.0' -# For Guard group :development do gem 'gist' gem 'yard' - gem 'rb-inotify', require: false - gem 'rb-fsevent', require: false # Rubocop supports only >=2.2.0 if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.2.0') |