Use appraisal to test all the matrix locally

This commit is contained in:
Phil Pirozhkov 2016-03-15 23:52:26 +03:00
parent b1c46154e9
commit 9238055944
14 changed files with 243 additions and 94 deletions

View File

@ -19,6 +19,7 @@ gemfile:
- gemfiles/rails_4.0.gemfile
- gemfiles/rails_4.0_mongo_mapper.gemfile
- gemfiles/rails_4.2.gemfile
- gemfiles/rails_4.2_mongoid_4.gemfile
- gemfiles/rails_4.2_mongoid_5.gemfile
- gemfiles/rails_4.2_mongo_mapper.gemfile
- gemfiles/rails_5.0.gemfile
@ -35,12 +36,20 @@ matrix:
- rvm: rbx-2.5.8
gemfile: gemfiles/rails_5.0.gemfile
exclude:
- rvm: 1.9.3
gemfile: gemfiles/rails_4.2_mongoid_4.gemfile
- rvm: 1.9.3
gemfile: gemfiles/rails_4.2_mongoid_5.gemfile
- rvm: 1.9.3
gemfile: gemfiles/rails_5.0.gemfile
- rvm: 2.2.5
gemfile: gemfiles/rails_3.2_stable.gemfile
- rvm: 2.3.1
gemfile: gemfiles/rails_3.2_stable.gemfile
- rvm: jruby-1.7
gemfile: gemfiles/rails_4.2_mongoid_4.gemfile
- rvm: jruby-1.7
gemfile: gemfiles/rails_4.2_mongoid_5.gemfile
- rvm: jruby-1.7
gemfile: gemfiles/rails_5.0.gemfile

117
Appraisals Normal file
View File

@ -0,0 +1,117 @@
appraise 'rails_3.2_stable' do
gem 'sqlite3', :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem 'jruby-openssl', :platforms => :jruby
gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
gem 'rails', :github => 'rails/rails', :branch => '3-2-stable'
gem 'mongoid', '~>3.1'
gem 'sequel'
gem 'mongo_mapper', '~>0.13'
gem 'bson_ext', :platforms => :ruby
gem 'test-unit', '~> 3.0'
end
appraise 'rails_4.0' do
gem 'sqlite3', :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem 'jruby-openssl', :platforms => :jruby
gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
gem 'mime-types', '~> 2', :platforms => [:ruby_19, :jruby]
gem 'rails', '4.0.13'
gem 'mongoid', '~>4.0'
gem 'sequel'
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
gem 'redis-objects'
end
appraise 'rails_4.0_mongo_mapper' do
gem 'sqlite3', :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem 'jruby-openssl', :platforms => :jruby
gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
gem 'mime-types', '~> 2', :platforms => [:ruby_19, :jruby]
gem 'rails', '4.0.13'
gem 'sequel'
gem 'mongo_mapper', '~>0.13.1'
gem 'bson_ext', :platforms => :ruby
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
end
appraise 'rails_4.2' do
gem 'sqlite3', :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem 'jruby-openssl', :platforms => :jruby
gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
gem 'mime-types', '~> 2', :platforms => [:ruby_19, :jruby]
gem 'rails', '4.2.5'
gem 'sequel'
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
end
appraise 'rails_4.2_mongoid_4' do
gem 'sqlite3', :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem 'jruby-openssl', :platforms => :jruby
gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
gem 'mime-types', '~> 2', :platforms => [:ruby_19, :jruby]
gem 'rails', '4.2.5'
gem 'mongoid', '~>4.0', :platforms => [:ruby_22, :ruby_23, :jruby]
gem 'sequel'
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
end
appraise 'rails_4.2_mongoid_5' do
gem 'sqlite3', :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem 'jruby-openssl', :platforms => :jruby
gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
gem 'mime-types', '~> 2', :platforms => [:ruby_19, :jruby]
gem 'rails', '4.2.5'
gem 'mongoid', '~>5.0', :platforms => [:ruby_22, :ruby_23, :jruby]
gem 'sequel'
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
end
appraise 'rails_4.2_mongo_mapper' do
gem 'sqlite3', :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem 'jruby-openssl', :platforms => :jruby
gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
gem 'mime-types', '~> 2', :platforms => [:ruby_19, :jruby]
gem 'rails', '4.2.5'
gem 'sequel'
gem 'mongo_mapper'
gem 'bson_ext', :platforms => :ruby
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
gem 'redis-objects'
end
appraise 'rails_5.0' do
gem 'sqlite3', :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem 'jruby-openssl', :platforms => :jruby
gem 'activerecord-jdbcsqlite3-adapter', :platforms => :jruby
gem 'rails', '5.0.0'
# mongoid is not yet Rails 5 compatible
# gem 'mongoid', '~>4.0', :platforms => [:ruby_22, :ruby_23, :jruby]
gem 'sequel'
# dynamoid is not yet Rails 5 compatible
# gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
end

21
Gemfile
View File

@ -1,24 +1,3 @@
source "https://rubygems.org"
gem "sqlite3", :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "mime-types", "~> 2" if Gem::Version.create(RUBY_VERSION.dup) <= Gem::Version.create('1.9.3')
gem "rails", ">= 4.2", "< 6"
gem 'mongoid', '~>4.0' if Gem::Version.create(RUBY_VERSION.dup) >= Gem::Version.create('1.9.3')
gem 'sequel'
# testing dynamoid
# gem 'dynamoid', '~> 1'
# gem 'aws-sdk', '~>2'
# Since mongoid V4 requires incompatible bson V2, cannot have mongoid (V4 or greater)
# and mongo_mapper ( or mongo ) in the same application
# gem 'mongo_mapper', '~> 0.13'
# gem 'bson_ext', :platforms => :ruby
# uncomment if you want to run specs for Redis persistence
# gem "redis-objects"
gemspec

View File

@ -23,4 +23,9 @@ Rake::RDocTask.new do |rdoc|
rdoc.rdoc_files.include('lib/**/*.rb')
end
task :default => :spec
if ENV["APPRAISAL_INITIALIZED"] || ENV["TRAVIS"]
task :default => :spec
else
require 'appraisal'
task :default => :appraisal
end

17
TESTING.md Normal file
View File

@ -0,0 +1,17 @@
## Install dependency matrix
appraise install
This will re-generate Gemfiles in `gemfile` folder
Use rvm gemsets or similar to avoid global gem pollution
## Run specs
For all supported Rails/ORM combinations:
appraise rspec
Or for s specific one:
appraise rails_4.2 rspec

View File

@ -20,6 +20,7 @@ Gem::Specification.new do |s|
s.add_development_dependency 'sdoc'
s.add_development_dependency 'rspec', ">= 3"
s.add_development_dependency 'generator_spec'
s.add_development_dependency 'appraisal'
# debugging
# s.add_development_dependency 'debugger'

View File

@ -1,15 +1,17 @@
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "sqlite3", :platforms => :ruby
gem "rubysl", :platforms => :rbx
gem "rubinius-developer_tools", :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "rails", :github => "rails/rails", :branch => "3-2-stable"
gem 'mongoid', '~>3.1' if Gem::Version.create(RUBY_VERSION.dup) >= Gem::Version.create('1.9.3')
gem 'sequel'
gem 'mongo_mapper', '~>0.13'
gem 'bson_ext', :platforms => :ruby
gem 'test-unit', '~> 3.0'
gem "rails", :github => "rails/rails", :branch => "3-2-stable"
gem "mongoid", "~>3.1"
gem "sequel"
gem "mongo_mapper", "~>0.13"
gem "bson_ext", :platforms => :ruby
gem "test-unit", "~> 3.0"
gemspec :path => "../"

View File

@ -1,16 +1,18 @@
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "sqlite3", :platforms => :ruby
gem "rubysl", :platforms => :rbx
gem "rubinius-developer_tools", :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "mime-types", "~> 2" if Gem::Version.create(RUBY_VERSION.dup) <= Gem::Version.create('1.9.3')
gem "mime-types", "~> 2", :platforms => [:ruby_19, :jruby]
gem "rails", "4.0.13"
gem 'mongoid', '~>4.0' if Gem::Version.create(RUBY_VERSION.dup) >= Gem::Version.create('1.9.3')
gem 'sequel'
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
gem "mongoid", "~>4.0"
gem "sequel"
gem "dynamoid", "~> 1", :platforms => :ruby
gem "aws-sdk", "~>2", :platforms => :ruby
gem "redis-objects"
gemspec :path => "../"

View File

@ -1,16 +1,18 @@
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "sqlite3", :platforms => :ruby
gem "rubysl", :platforms => :rbx
gem "rubinius-developer_tools", :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "mime-types", "~> 2" if Gem::Version.create(RUBY_VERSION.dup) <= Gem::Version.create('1.9.3')
gem "mime-types", "~> 2", :platforms => [:ruby_19, :jruby]
gem "rails", "4.0.13"
gem 'sequel'
gem 'mongo_mapper', '~>0.13'
gem 'bson_ext', :platforms => :ruby
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
gem "sequel"
gem "mongo_mapper", "~>0.13.1"
gem "bson_ext", :platforms => :ruby
gem "dynamoid", "~> 1", :platforms => :ruby
gem "aws-sdk", "~>2", :platforms => :ruby
gemspec :path => "../"

View File

@ -1,15 +1,16 @@
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "sqlite3", :platforms => :ruby
gem "rubysl", :platforms => :rbx
gem "rubinius-developer_tools", :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "mime-types", "~> 2" if Gem::Version.create(RUBY_VERSION.dup) <= Gem::Version.create('1.9.3')
gem "mime-types", "~> 2", :platforms => [:ruby_19, :jruby]
gem "rails", "4.2.5"
gem 'mongoid', '~>4.0' if Gem::Version.create(RUBY_VERSION.dup) >= Gem::Version.create('1.9.3')
gem 'sequel'
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
gem "sequel"
gem "dynamoid", "~> 1", :platforms => :ruby
gem "aws-sdk", "~>2", :platforms => :ruby
gemspec :path => "../"

View File

@ -1,17 +1,19 @@
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "sqlite3", :platforms => :ruby
gem "rubysl", :platforms => :rbx
gem "rubinius-developer_tools", :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "mime-types", "~> 2" if Gem::Version.create(RUBY_VERSION.dup) <= Gem::Version.create('1.9.3')
gem "mime-types", "~> 2", :platforms => [:ruby_19, :jruby]
gem "rails", "4.2.5"
gem 'sequel'
gem 'mongo_mapper'
gem 'bson_ext', :platforms => :ruby
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
gem "sequel"
gem "mongo_mapper"
gem "bson_ext", :platforms => :ruby
gem "dynamoid", "~> 1", :platforms => :ruby
gem "aws-sdk", "~>2", :platforms => :ruby
gem "redis-objects"
gemspec :path => "../"

View File

@ -0,0 +1,17 @@
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", :platforms => :ruby
gem "rubysl", :platforms => :rbx
gem "rubinius-developer_tools", :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "mime-types", "~> 2", :platforms => [:ruby_19, :jruby]
gem "rails", "4.2.5"
gem "mongoid", "~>4.0", :platforms => [:ruby_22, :ruby_23, :jruby]
gem "sequel"
gem "dynamoid", "~> 1", :platforms => :ruby
gem "aws-sdk", "~>2", :platforms => :ruby
gemspec :path => "../"

View File

@ -1,15 +1,17 @@
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "sqlite3", :platforms => :ruby
gem "rubysl", :platforms => :rbx
gem "rubinius-developer_tools", :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "mime-types", "~> 2" if Gem::Version.create(RUBY_VERSION.dup) <= Gem::Version.create('1.9.3')
gem "mime-types", "~> 2", :platforms => [:ruby_19, :jruby]
gem "rails", "4.2.5"
gem 'mongoid', '~>5.0' if Gem::Version.create(RUBY_VERSION.dup) >= Gem::Version.create('1.9.3')
gem 'sequel'
gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
gem "mongoid", "~>5.0", :platforms => [:ruby_22, :ruby_23, :jruby]
gem "sequel"
gem "dynamoid", "~> 1", :platforms => :ruby
gem "aws-sdk", "~>2", :platforms => :ruby
gemspec :path => "../"

View File

@ -1,21 +1,14 @@
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", :platforms => :ruby
gem 'rubysl', :platforms => :rbx
gem 'rubinius-developer_tools', :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "sqlite3", :platforms => :ruby
gem "rubysl", :platforms => :rbx
gem "rubinius-developer_tools", :platforms => :rbx
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "rails", "5.0.0"
# mongoid is not yet Rails 5 compatible
# gem 'mongoid', '~>4.0' if Gem::Version.create(RUBY_VERSION.dup) >= Gem::Version.create('1.9.3')
gem 'sequel'
# dynamoid is not yet Rails 5 compatible
# gem 'dynamoid', '~> 1', :platforms => :ruby
gem 'aws-sdk', '~>2', :platforms => :ruby
gem "sequel"
gem "aws-sdk", "~>2", :platforms => :ruby
gemspec :path => "../"