diff --git a/.gitignore b/.gitignore index 926950e2..816dd2a1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ +/moonshot-*.gem +/.bundle /Gemfile.lock /vendor /coverage +/cc-test-reporter site/ -sample/gems \ No newline at end of file +sample/gems diff --git a/.ruby-version b/.ruby-version index 6b4d1577..95e3ba81 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.2.3 \ No newline at end of file +2.5 diff --git a/.travis.yml b/.travis.yml index ff6583bd..e5df01d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,11 +2,11 @@ language: ruby cache: bundler -# This will enable the container-based infrastructure for -# travis tests. It should result in faster test vm load times. -# @see http://docs.travis-ci.com/user/workers/container-based-infrastructure/ sudo: false +rvm: + - 2.5 + addons: apt: sources: @@ -14,10 +14,21 @@ addons: packages: - cmake +env: + global: + - COVERAGE=1 + - secure: Z3Ts5ZjUECilOmKSz6Y1OPIolt33i6E0VAiClqJNI/lg+YLP9TAsz65PKCDCeQ/siekWVZZyB2koEQkFIg4d1O05B5Lk71ifUw5ZhYdVQoxZpjH3I2FyyUur9JSKKplnnmHdhZYV8YFS4ElVgvQTcG78XloURWXXAEx1Rui6lvtVE7hQO/G47wbILdhTGRVaOScOe6i/VjcwRiZGcEiWfNaZ+yk1yxdGiXNcvA4Zm1yQSgVvdtXt4RMqEebxB2REfN4fEMLf25muFlZcIj9pvsFvlJG2pIgMp8u5TzoG44c5Ut4t22VTtXg/BgdbfJazT5Qig2gK2z4aHm5F8JT0deSKRH8bpIvtCJhptcmbILvObrV6KIWaiVStxORQDO0iKR0QNcpHqlXc4OtGYo/DTCop2n13KwIhpUWfoAqInfoeJcILgPoyUuU1q+qo1jhEDu+bFqSrg6GyZTxxbR2W2Big4L+IqEtKehnHE1UB0jfobSDXawt53UgjC35qpBbfYPWvg9yhXQiKjRSwcfLGaRIpalG6FtzLPghzI6gSL8E3a2N8Jb160cZL5ubrThD9B9ti7xaUF9x86JQSB78Tgf+SCToLlDWUG2pfX2AsXA26L/uiEG2Ihx1raXfZvxFzIqvaEtcbjuAYYh8u3XkXSu885zLETq2HR9nOd8raeww= + before_install: - gem install rubygems-update -v '<3' --no-document && update_rubygems - gem update bundler -rvm: - - 2.2 - - 2.3.3 +before_script: + - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter + - chmod +x ./cc-test-reporter + - ./cc-test-reporter before-build + +after_script: + - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT + - ./cc-test-reporter format-coverage -t simplecov -o coverage/codeclimate.json coverage/.resultset.json + - if [[ "$TRAVIS_TEST_RESULT" == 0 ]]; then ./cc-test-reporter upload-coverage -i coverage/codeclimate.json; fi diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..0cbc6959 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM ubuntu:xenial + +RUN apt-get update \ + && apt-get install -y \ + build-essential \ + cmake \ + git \ + software-properties-common + +RUN apt-add-repository -y ppa:brightbox/ruby-ng \ + && apt-get update \ + && apt-get install -y \ + ruby2.6 \ + ruby2.6-dev + +RUN gem install rubygems-update -v '<3' --no-document && update_rubygems \ + && gem update bundler + diff --git a/Gemfile b/Gemfile index 43bb6d2d..f91427d3 100644 --- a/Gemfile +++ b/Gemfile @@ -5,7 +5,6 @@ gemspec gem 'rake', require: false group :test do - gem 'codeclimate-test-reporter' gem 'pry' gem 'rubocop', '~> 0.49.0' end diff --git a/README.md b/README.md index 2356b7a6..872593ed 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ We also want to [help you contribute and answer all your questions](http://moons ## Requirements -- Ruby 2.2 or higher +- Ruby 2.5 or higher ## Attributions diff --git a/moonshot.gemspec b/moonshot.gemspec index b7d75f66..7e5ad2c1 100644 --- a/moonshot.gemspec +++ b/moonshot.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = 'moonshot' - s.version = '2.0.0.beta6' + s.version = '2.1.0.beta1' s.licenses = ['Apache-2.0'] s.summary = 'A library and CLI tool for launching services into AWS' s.description = 'A library and CLI tool for launching services into AWS.' @@ -37,7 +37,10 @@ Gem::Specification.new do |s| s.add_dependency('require_all', '~> 1.5.0') s.add_development_dependency('rspec') - s.add_development_dependency('simplecov') + # Workaround for cc-test-reporter with SimpleCov 0.18. + # Stop upgrading SimpleCov until the following issue will be resolved. + # https://github.com/codeclimate/test-reporter/issues/418 + s.add_development_dependency('simplecov', '~> 0.17.1') # fakefs requires < 0.14.0 for ruby 2.2 s.add_development_dependency('fakefs', '< 0.14.0') end