diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..d4dfe5d3e --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,79 @@ +version: 2.1 + +jobs: + build: + parameters: + docker-image: + type: string + gemfile: + type: string + docker: + - image: << parameters.docker-image >> + environment: + MOCHA_OPTIONS=debug + steps: + - checkout + - run: ruby --version + - when: + condition: + equal: [ "ruby:1.9", << parameters.docker-image >>] + steps: + - run: gem update --system 2.7.8 + - run: gem install bundler -v1.17.3 + - when: + condition: + equal: [ "jruby:latest", << parameters.docker-image >>] + steps: + - run: apt-get update + - run: apt-get install -y git + - run: gem --version + - run: bundle --version + - run: bundle install --gemfile=<< parameters.gemfile >> + - when: + condition: + equal: [ "Gemfile", << parameters.gemfile >>] + steps: + - run: bundle exec rake test + - when: + condition: + matches: + pattern: ".*minitest.*" + value: << parameters.gemfile >> + steps: + - run: MOCHA_RUN_INTEGRATION_TESTS=minitest bundle exec --gemfile=<< parameters.gemfile >> rake test + - when: + condition: + matches: + pattern: ".*test-unit.*" + value: << parameters.gemfile >> + steps: + - run: MOCHA_RUN_INTEGRATION_TESTS=test-unit bundle exec --gemfile=<< parameters.gemfile >> rake test + +workflows: + build-all: + jobs: + - build: + matrix: + parameters: + docker-image: + - ruby:1.9 + - ruby:2.0 + - ruby:2.1 + - ruby:2.2 + - ruby:2.3 + - ruby:2.4 + - ruby:2.5 + - ruby:2.6 + - ruby:2.7 + - ruby:latest + - jruby:latest + gemfile: + - Gemfile + - build: + matrix: + parameters: + docker-image: + - ruby:latest + gemfile: + - gemfiles/Gemfile.minitest.latest + - gemfiles/Gemfile.test-unit.latest diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 127fabf8d..000000000 --- a/.travis.yml +++ /dev/null @@ -1,176 +0,0 @@ -bundler_args: "--verbose" -script: "rake test" -rvm: - - 1.8.7-p371 - - 1.9.3 - - 2.0.0 - - 2.1.10 - - 2.2.10 - - 2.3.8 - - 2.4.10 - - 2.5.9 - - 2.6.7 - - 2.7.3 - - ruby-head - - jruby-9.2.18.0 - - jruby-head - - truffleruby -gemfile: - - Gemfile -env: - - MOCHA_OPTIONS=debug -matrix: - include: - - rvm: truffleruby - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: jruby-head - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: jruby-9.2.18.0 - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: ruby-head - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 2.7.0 - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 2.6.5 - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 2.5.7 - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 2.4.9 - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 2.3.8 - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 2.2.10 - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 2.1.10 - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 2.0.0 - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.9.3 - gemfile: gemfiles/Gemfile.minitest.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.9.3 - gemfile: gemfiles/Gemfile.minitest.2.11.2 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.9.3 - gemfile: gemfiles/Gemfile.minitest.2.11.0 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.9.3 - gemfile: gemfiles/Gemfile.minitest.2.3.0 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.9.3 - gemfile: gemfiles/Gemfile.minitest.2.0.1 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.9.3 - gemfile: gemfiles/Gemfile.minitest.2.0.0 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.9.3 - gemfile: Gemfile - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.minitest.5.11.3 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.minitest.2.11.2 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.minitest.2.11.0 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.minitest.2.3.0 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.minitest.2.0.1 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.minitest.2.0.0 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.minitest.1.4.2 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.minitest.1.4.0 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.minitest.1.3.0 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=minitest - - rvm: truffleruby - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: jruby-9.2.9.0 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: jruby-head - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: ruby-head - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 2.7.0 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 2.6.5 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 2.5.7 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 2.4.9 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 2.3.8 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 2.2.10 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 2.1.10 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 2.0.0 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 1.9.3 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 1.9.3 - gemfile: gemfiles/Gemfile.test-unit.2.0.3 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 1.9.3 - gemfile: gemfiles/Gemfile.test-unit.2.0.1 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 1.9.3 - gemfile: gemfiles/Gemfile.test-unit.2.0.0 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.test-unit.latest - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.test-unit.2.0.3 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.test-unit.2.0.1 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 1.8.7-p371 - gemfile: gemfiles/Gemfile.test-unit.2.0.0 - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - - rvm: 1.8.7-p371 - gemfile: Gemfile - env: MOCHA_OPTIONS=debug MOCHA_RUN_INTEGRATION_TESTS=test-unit - allow_failures: - - rvm: 1.8.7-p371 - - rvm: truffleruby - - rvm: ruby-head - - rvm: jruby-head - fast_finish: true diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c709cddd9..e9fa60342 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,5 +3,5 @@ * Make your changes in a branch. * Add/modify/remove tests as appropriate. * Open a pull request based on a branch on your fork. -* Wait for your pull request build to pass on [Travis CI](https://travis-ci.com/github/freerange/mocha/pull_requests). +* Wait for your pull request build to pass on [Circle CI](https://app.circleci.com/pipelines/github/freerange/mocha). * Pull requests with failing tests will not be accepted. diff --git a/README.md b/README.md index 6d1375586..3f480238c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## Mocha [![Build Status](https://travis-ci.com/freerange/mocha.svg?branch=main)](https://travis-ci.com/github/freerange/mocha) [![Gem Version](https://badge.fury.io/rb/mocha.svg)](http://badge.fury.io/rb/mocha) [![SemVer](https://api.dependabot.com/badges/compatibility_score?dependency-name=mocha&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=mocha&package-manager=bundler&version-scheme=semver) +## Mocha [![CircleCI status of freerange/mocha](https://circleci.com/gh/freerange/mocha.svg?style=shield)](https://app.circleci.com/pipelines/github/freerange/mocha) [![Gem Version](https://badge.fury.io/rb/mocha.svg)](http://badge.fury.io/rb/mocha) [![SemVer](https://api.dependabot.com/badges/compatibility_score?dependency-name=mocha&package-manager=bundler&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=mocha&package-manager=bundler&version-scheme=semver) ### Description @@ -323,7 +323,7 @@ See this [list of contributors](https://github.com/freerange/mocha/graphs/contri * Update the RELEASE.md file with a summary of changes * Bump the version in `lib/mocha/version.rb` * Commit & push to GitHub -* Check Travis CI build is passing - https://travis-ci.com/github/freerange/mocha +* Check CircleCI build is passing - https://app.circleci.com/pipelines/github/freerange/mocha * Sign in to Google Analytics - https://analytics.google.com/analytics/web/ * Find the web property ID for floehopper (625523) > Mocha Documentation (UA-625523-7) diff --git a/bin/build-matrix b/bin/build-matrix deleted file mode 100755 index c609a3776..000000000 --- a/bin/build-matrix +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env ruby - -require 'yaml' -require 'set' -require 'English' - -def execute(*commands) - commands.each do |command| - system(command) - next if $CHILD_STATUS.success? - message = [ - 'Executing shell command failed.', - " Command: #{command}", - " Status: #{$CHILD_STATUS.exitstatus}" - ].join("\n") - raise message - end -end - -def reset_bundle - execute( - 'rm -rf .bundle/gems', - 'rm -rf gemfiles/.bundle/gems', - 'rm -f *.lock', - 'rm -f gemfiles/*.lock' - ) -end - -def with_rbenv(command) - %{export PATH="$HOME/.rbenv/bin:$PATH"; eval "$(rbenv init -)"; #{command}} -end - -def run(ruby_version, gemfile, task = 'test') - ENV['RBENV_VERSION'] = ruby_version - ENV['BUNDLE_GEMFILE'] = gemfile - ENV['MOCHA_OPTIONS'] = 'debug' - reset_bundle - execute( - with_rbenv("bundle install --gemfile=#{gemfile}"), - with_rbenv("bundle exec rake #{task}") - ) -end - -AVAILABLE_RUBY_VERSIONS = `rbenv versions --bare`.split("\n") - -travis_config = YAML.safe_load(File.read('.travis.yml')) -build_configs = travis_config['matrix']['include'] -travis_config['rvm'].each do |ruby_version| - travis_config['gemfile'].each do |gemfile| - travis_config['env'].each do |env| - build_configs << { 'rvm' => ruby_version, 'gemfile' => gemfile, 'env' => env } - end - end -end - -missing_ruby_versions = Set.new - -build_configs.each do |config| - ruby_version = config['rvm'] - gemfile = config['gemfile'] - environment_variables = Hash[*config['env'].split.flat_map { |e| e.split('=') }] - original_environment_variables = {} - begin - environment_variables.each do |k, v| - original_environment_variables[k] = ENV[k] - ENV[k] = v - end - if AVAILABLE_RUBY_VERSIONS.include?(ruby_version) - puts - puts "Ruby v#{ruby_version}; Gemfile path: #{gemfile}; Environment: #{environment_variables}" - run(ruby_version, gemfile) - else - missing_ruby_versions << ruby_version - end - ensure - original_environment_variables.each do |k, v| - ENV[k] = v - end - end -end - -puts "Missing Ruby versions: #{missing_ruby_versions.to_a.join(', ')}" diff --git a/gemfiles/Gemfile.minitest.1.3.0 b/gemfiles/Gemfile.minitest.1.3.0 deleted file mode 100644 index e9b7c27c7..000000000 --- a/gemfiles/Gemfile.minitest.1.3.0 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "minitest", "1.3.0" -end diff --git a/gemfiles/Gemfile.minitest.1.4.0 b/gemfiles/Gemfile.minitest.1.4.0 deleted file mode 100644 index 1f4750707..000000000 --- a/gemfiles/Gemfile.minitest.1.4.0 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "minitest", "1.4.0" -end diff --git a/gemfiles/Gemfile.minitest.1.4.1 b/gemfiles/Gemfile.minitest.1.4.1 deleted file mode 100644 index ac583ad92..000000000 --- a/gemfiles/Gemfile.minitest.1.4.1 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "minitest", "1.4.1" -end diff --git a/gemfiles/Gemfile.minitest.1.4.2 b/gemfiles/Gemfile.minitest.1.4.2 deleted file mode 100644 index 44fa8ab11..000000000 --- a/gemfiles/Gemfile.minitest.1.4.2 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "minitest", "1.4.2" -end diff --git a/gemfiles/Gemfile.minitest.2.0.0 b/gemfiles/Gemfile.minitest.2.0.0 deleted file mode 100644 index d3ac31a6c..000000000 --- a/gemfiles/Gemfile.minitest.2.0.0 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "minitest", "2.0.0" -end diff --git a/gemfiles/Gemfile.minitest.2.0.1 b/gemfiles/Gemfile.minitest.2.0.1 deleted file mode 100644 index ed8a23ad7..000000000 --- a/gemfiles/Gemfile.minitest.2.0.1 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "minitest", "2.0.1" -end diff --git a/gemfiles/Gemfile.minitest.2.11.0 b/gemfiles/Gemfile.minitest.2.11.0 deleted file mode 100644 index bbd32d183..000000000 --- a/gemfiles/Gemfile.minitest.2.11.0 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "minitest", "2.11.0" -end diff --git a/gemfiles/Gemfile.minitest.2.11.2 b/gemfiles/Gemfile.minitest.2.11.2 deleted file mode 100644 index 19507e5c1..000000000 --- a/gemfiles/Gemfile.minitest.2.11.2 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "minitest", "2.11.2" -end diff --git a/gemfiles/Gemfile.minitest.2.3.0 b/gemfiles/Gemfile.minitest.2.3.0 deleted file mode 100644 index 8fd93e87e..000000000 --- a/gemfiles/Gemfile.minitest.2.3.0 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "minitest", "2.3.0" -end diff --git a/gemfiles/Gemfile.minitest.5.11.3 b/gemfiles/Gemfile.minitest.5.11.3 deleted file mode 100644 index 3003ca798..000000000 --- a/gemfiles/Gemfile.minitest.5.11.3 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "minitest", "5.11.3" -end diff --git a/gemfiles/Gemfile.test-unit.2.0.0 b/gemfiles/Gemfile.test-unit.2.0.0 deleted file mode 100644 index dbab06542..000000000 --- a/gemfiles/Gemfile.test-unit.2.0.0 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "test-unit", "2.0.0" -end diff --git a/gemfiles/Gemfile.test-unit.2.0.1 b/gemfiles/Gemfile.test-unit.2.0.1 deleted file mode 100644 index 5de020388..000000000 --- a/gemfiles/Gemfile.test-unit.2.0.1 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "test-unit", "2.0.1" -end diff --git a/gemfiles/Gemfile.test-unit.2.0.3 b/gemfiles/Gemfile.test-unit.2.0.3 deleted file mode 100644 index e75266f25..000000000 --- a/gemfiles/Gemfile.test-unit.2.0.3 +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gemspec :path=>"../" - -group :development do - gem "test-unit", "2.0.3" -end diff --git a/mocha.gemspec b/mocha.gemspec index b79f0a950..3fcfc791c 100644 --- a/mocha.gemspec +++ b/mocha.gemspec @@ -15,7 +15,7 @@ Gem::Specification.new do |s| # rubocop:disable Metrics/BlockLength s.files = Dir.chdir(File.expand_path('..', __FILE__)) do `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(docs|test)/}) } end - s.files.delete('.travis.yml') + s.files.delete('.circleci/config.yml') s.files.delete('.gitignore') s.homepage = 'https://mocha.jamesmead.org' @@ -30,18 +30,22 @@ Gem::Specification.new do |s| # rubocop:disable Metrics/BlockLength end end - if RUBY_VERSION >= '1.9.3' - s.add_development_dependency('rake') + if RUBY_VERSION < '1.9.3' + s.add_development_dependency 'rake', '~> 10.0' + elsif RUBY_VERSION < '2' + s.add_development_dependency 'rake', '~> 12.2.1' + elsif RUBY_VERSION < '2.2' + s.add_development_dependency 'rake', '~> 12.3.3' else - # Rake >= v11 does not support Ruby < v1.9.3 so use - s.add_development_dependency('rake', '~> 10.0') + s.add_development_dependency 'rake' end + s.add_development_dependency('introspection', '~> 0.0.1') if RUBY_VERSION >= '2.2.0' # No test libraries in standard library s.add_development_dependency('minitest') end - if RUBY_VERSION >= '1.9.2' + if RUBY_VERSION >= '2.2.0' s.add_development_dependency('rubocop', '<= 0.58.2') end if ENV['MOCHA_GENERATE_DOCS']