Skip to content

Commit 7896ad6

Browse files
authored
Merge pull request #2327 from rails-api/ruby-2-6-rails-4-2-test-patch
Add support for Ruby 2.6, configure sqlite3 to use ~> 1.4 for rails 6+, patch for Rails 4.2 against Ruby 2.6
2 parents 942e10f + 5d122f2 commit 7896ad6

File tree

5 files changed

+65
-27
lines changed

5 files changed

+65
-27
lines changed

.travis.yml

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
language: ruby
22
sudo: false
33

4+
ruby_supported_versions:
5+
- &ruby_2_1 2.1.10
6+
- &ruby_2_2 2.2.10
7+
- &ruby_2_3 2.3.8
8+
- &ruby_2_4 2.4.6
9+
- &ruby_2_5 2.5.5
10+
- &ruby_2_6 2.6.3
11+
- &ruby_head ruby-head
12+
413
cache:
514
directories:
615
- vendor/bundle
@@ -25,38 +34,39 @@ env:
2534
- "RAILS_VERSION=master"
2635

2736
rvm:
28-
- 2.1.10
29-
- 2.2.8
30-
- 2.3.5
31-
- 2.4.2
32-
- 2.5.3
33-
- ruby-head
37+
- *ruby_2_1
38+
- *ruby_2_2
39+
- *ruby_2_3
40+
- *ruby_2_4
41+
- *ruby_2_5
42+
- *ruby_2_6
43+
- *ruby_head
3444

3545
branches:
36-
only:
37-
- 0-10-stable
46+
only: 0-10-stable
3847

3948
matrix:
4049
include:
41-
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=4.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
42-
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
43-
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
44-
# See JRuby currently failing on Rails 5+ https://github.com/jruby/activerecord-jdbc-adapter/issues/708
45-
# - { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
46-
# - { rvm: jruby-head, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
50+
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=4.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
51+
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=4.2 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
52+
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
53+
# See JRuby currently failing on Rails 5+ https://github.com/jruby/activerecord-jdbc-adapter/issues/708
54+
# - { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.0 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
55+
# - { rvm: jruby-head, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }
4756
exclude:
48-
- { rvm: 2.1.10, env: RAILS_VERSION=master }
49-
- { rvm: 2.2.8, env: RAILS_VERSION=master }
50-
- { rvm: 2.3.5, env: RAILS_VERSION=master }
51-
- { rvm: 2.4.2, env: RAILS_VERSION=master }
52-
- { rvm: 2.1.10, env: RAILS_VERSION=5.0 }
53-
- { rvm: 2.1.10, env: RAILS_VERSION=5.1 }
54-
- { rvm: 2.1.10, env: RAILS_VERSION=5.2 }
55-
- { rvm: 2.4.2, env: RAILS_VERSION=4.1 }
56-
- { rvm: 2.5.3, env: RAILS_VERSION=4.1 }
57-
- { rvm: ruby-head, env: RAILS_VERSION=4.1 }
57+
- { rvm: *ruby_2_4, env: RAILS_VERSION=master }
58+
- { rvm: *ruby_2_3, env: RAILS_VERSION=master }
59+
- { rvm: *ruby_2_2, env: RAILS_VERSION=master }
60+
- { rvm: *ruby_2_1, env: RAILS_VERSION=master }
61+
- { rvm: *ruby_2_1, env: RAILS_VERSION=5.2 }
62+
- { rvm: *ruby_2_1, env: RAILS_VERSION=5.1 }
63+
- { rvm: *ruby_2_1, env: RAILS_VERSION=5.0 }
64+
- { rvm: *ruby_head, env: RAILS_VERSION=4.1 }
65+
- { rvm: *ruby_2_6, env: RAILS_VERSION=4.1 }
66+
- { rvm: *ruby_2_5, env: RAILS_VERSION=4.1 }
67+
- { rvm: *ruby_2_4, env: RAILS_VERSION=4.1 }
5868
allow_failures:
59-
- rvm: ruby-head
69+
- rvm: *ruby_head
6070
- rvm: jruby-head
6171
# See JRuby currently failing on Rails 5+ https://github.com/jruby/activerecord-jdbc-adapter/issues/708
6272
- { rvm: jruby-9.1.13.0, jdk: oraclejdk8, env: "RAILS_VERSION=5.1 JRUBY_OPTS='--dev -J-Xmx1024M --debug'" }

Gemfile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,13 @@ group :bench do
5353
end
5454

5555
group :test do
56-
gem 'sqlite3', '~> 1.3.13', platform: (@windows_platforms + [:ruby])
56+
platforms(*(@windows_platforms + [:ruby])) do
57+
if version == 'master' || version >= '6'
58+
gem 'sqlite3', '~> 1.4'
59+
else
60+
gem 'sqlite3', '~> 1.3.13'
61+
end
62+
end
5763
platforms :jruby do
5864
if version == 'master' || version >= '5'
5965
gem 'activerecord-jdbcsqlite3-adapter', '~> 50'
@@ -65,7 +71,7 @@ group :test do
6571
gem 'm', '~> 1.5'
6672
gem 'pry', '>= 0.10'
6773
gem 'byebug', '~> 8.2' if RUBY_VERSION < '2.2'
68-
gem 'pry-byebug', platform: :ruby
74+
gem 'pry-byebug', platforms: :ruby
6975
end
7076

7177
group :development, :test do

test/benchmark/config.ru

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require File.expand_path(['..', 'app'].join(File::SEPARATOR), __FILE__)
24

35
run Rails.application
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# frozen_string_literal: true
2+
3+
if RUBY_VERSION >= '2.6.0'
4+
if Rails::VERSION::MAJOR < 5
5+
module ActionController
6+
class TestResponse < ActionDispatch::TestResponse
7+
def recycle!
8+
# HACK: to avoid MonitorMixin double-initialize error:
9+
@mon_mutex_owner_object_id = nil
10+
@mon_mutex = nil
11+
initialize
12+
end
13+
end
14+
end
15+
else
16+
puts 'Monkeypatch for ActionController::TestResponse no longer needed'
17+
end
18+
end

test/test_helper.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ def silence_warnings
5656

5757
require 'support/rails_app'
5858

59+
require 'support/ruby_2_6_rails_4_2_patch'
60+
5961
# require "rails/test_help"
6062

6163
require 'support/serialization_testing'

0 commit comments

Comments
 (0)