diff options
author | Jeremy Daer <jeremydaer@gmail.com> | 2016-04-17 21:34:42 -0700 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2016-04-18 00:09:35 -0700 |
commit | 211bc1cf7c62f1e1fd0c80d10ef79063825bab5f (patch) | |
tree | 249c794c6cd28b473bf6b93883f482aab018436f | |
parent | e7e064611e1004ec62b593ec993a06d967d6c72e (diff) | |
download | rack-1-5-stable.tar.gz |
CI: Refresh and repair builds1-5-stable
* Pin to Rake < 11.0 for 1.8 compat
* Backport Travis bump: 8c31cef
* Build on Ruby 2.x, rbx-2, and jruby-head
-rw-r--r-- | .travis.yml | 36 | ||||
-rw-r--r-- | Gemfile | 23 |
2 files changed, 50 insertions, 9 deletions
diff --git a/.travis.yml b/.travis.yml index f9c3a1bd..d03f0a71 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,21 +1,45 @@ -before_install: sudo apt-get install lighttpd libfcgi-dev libmemcache-dev memcached -install: +language: ruby +sudo: false +cache: + - bundler + - apt + +services: + - memcached + +addons: + apt: + packages: + - lighttpd + - libfcgi-dev + +before_install: - gem env version | grep '^\(2\|1.\(8\|9\|[0-9][0-9]\)\)' || gem update --system - - gem install --conservative rake - - rake deps -script: rake ci + +script: bundle exec rake ci + rvm: - 1.8.7 - 1.9.2 - 1.9.3 - 2.0.0 - - 2.1.0-preview2 + - 2.1 + - 2.2.4 + - 2.3.0 + - ruby-head - rbx + - rbx-2 - jruby + - jruby-9.0.4.0 + - jruby-head - ree + notifications: email: false irc: "irc.freenode.org#rack" + matrix: allow_failures: - rvm: 2.0.0 + - rvm: rbx-2 + - rvm: jruby-head @@ -2,9 +2,26 @@ source 'https://rubygems.org' gemspec +# Rake 11+ is Ruby 1.9+ only. Stick with 10.x to avoid awkward Bundler +# platform and RUBY_VERSION gymnastics, or separate Gemfiles. +gem "rake", "< 11.0" + +# What we need to do here is just *exclude* JRuby, but bundler has no way to do +# this, because of some argument that I know I had with Yehuda and Carl years +# ago, but I've since forgotten. Anyway, we actually need it here, and it's not +# avaialable, so prepare yourself for a yak shave when this breaks. +c_platforms = Bundler::Dsl::VALID_PLATFORMS.dup.delete_if do |platform| + # to_s because we still run 1.8 + platform.to_s =~ /jruby/ +end + +# Alternative solution that might work, but it has bad interactions with +# Gemfile.lock if that gets committed/reused: +# c_platforms = [:mri] if Gem.platforms.last.os == "java" + group :extra do - gem 'ruby-fcgi' + gem 'fcgi', :platforms => c_platforms gem 'memcache-client' - gem 'mongrel', '>= 1.2.0.pre2' - gem 'thin' + gem 'mongrel', '>= 1.2.0.pre2', :platforms => c_platforms + gem 'thin', :platforms => c_platforms end |