Skip to content

Commit

Permalink
Add appraisal gem. Let's see what breaks. :-\
Browse files Browse the repository at this point in the history
Also added script to generate list of excludes in `.travis.yml`.
(Since we're supporting so many versions right now, there are a ton)
  • Loading branch information
Mike Vastola authored and Mike Vastola committed Apr 19, 2021
1 parent ccf18c2 commit aea8d7d
Show file tree
Hide file tree
Showing 23 changed files with 515 additions and 105 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ pkg
Gemfile.lock
coverage
/.idea
/gemfiles/*.gemfile.lock
38 changes: 38 additions & 0 deletions .travis.base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
os: linux
dist: xenial
language: ruby
cache: bundler
script: "bundle exec rake test"
rvm:
- 2.0
- 2.1
- 2.2
- 2.3
- 2.4
- 2.5
- 2.6
- 2.7
- 3.0
- head
- rbx
gemfile:
- gemfiles/rails_3.0.gemfile
- gemfiles/rails_3.1.gemfile
- gemfiles/rails_3.2.gemfile
- gemfiles/rails_4.0.gemfile
- gemfiles/rails_4.1.gemfile
- gemfiles/rails_4.2.gemfile
- gemfiles/rails_5.0.gemfile
- gemfiles/rails_5.1.gemfile
- gemfiles/rails_5.2.gemfile
- gemfiles/rails_6.0.gemfile
- gemfiles/rails_6.1.gemfile
- gemfiles/rails_7_edge.gemfile
- gemfiles/datamapper.gemfile
- gemfiles/sequel.gemfile
jobs:
allow_failures:
- rvm: head
- gemfile: gemfiles/rails_7_edge.gemfile
- rvm: rbx
fast_finish: true
247 changes: 143 additions & 104 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,109 +1,148 @@
sudo: false
---
os: linux
dist: xenial
language: ruby
cache: bundler
script: bundle exec rake test
rvm:
- 2.0
- 2.1
- 2.2
- 2.3
- 2.4
- 2.5
- 2.6
- 2.7
- 3.0
- rbx
env:
- ACTIVERECORD=3.0.x
- ACTIVERECORD=3.1.x
- ACTIVERECORD=3.2.x
- ACTIVERECORD=4.0.x
- ACTIVERECORD=4.1.x
- ACTIVERECORD=4.2.x
- ACTIVERECORD=5.0.x
- ACTIVERECORD=5.1.x
- ACTIVERECORD=5.2.x
- ACTIVERECORD=6.0.x
- ACTIVERECORD=6.1.x
- ACTIVERECORD=6.2.x
matrix:
exclude:
- rvm: 2.0
env: ACTIVERECORD=5.0.x
- rvm: 2.0
env: ACTIVERECORD=5.1.x
- rvm: 2.0
env: ACTIVERECORD=5.2.x
- rvm: 2.0
env: ACTIVERECORD=6.0.x
- rvm: 2.0
env: ACTIVERECORD=6.1.x
- rvm: 2.0
env: ACTIVERECORD=6.2.x
- rvm: 2.1
env: ACTIVERECORD=5.0.x
- rvm: 2.1
env: ACTIVERECORD=5.1.x
- rvm: 2.0
env: ACTIVERECORD=5.2.x
- rvm: 2.1
env: ACTIVERECORD=6.0.x
- rvm: 2.1
env: ACTIVERECORD=6.1.x
- rvm: 2.1
env: ACTIVERECORD=6.2.x
- rvm: 2.1
env: ACTIVERECORD=6.0.x
- rvm: 2.2
env: ACTIVERECORD=6.1.x
- rvm: 2.2
env: ACTIVERECORD=6.2.x
- rvm: 2.2
env: ACTIVERECORD=6.0.x
- rvm: 2.3
env: ACTIVERECORD=6.1.x
- rvm: 2.3
env: ACTIVERECORD=6.2.x
- rvm: 2.3
env: ACTIVERECORD=3.0.x
- rvm: 2.4
env: ACTIVERECORD=3.1.x
- rvm: 2.4
env: ACTIVERECORD=3.2.x
- rvm: 2.4
env: ACTIVERECORD=4.0.x
- rvm: 2.4
env: ACTIVERECORD=4.1.x
- rvm: 2.4
env: ACTIVERECORD=6.0.x
- rvm: 2.4
env: ACTIVERECORD=6.1.x
- rvm: 2.4
env: ACTIVERECORD=6.2.x
- rvm: 2.5
env: ACTIVERECORD=3.0.x
- rvm: 2.5
env: ACTIVERECORD=3.1.x
- rvm: 2.5
env: ACTIVERECORD=3.2.x
- rvm: 2.5
env: ACTIVERECORD=4.0.x
- rvm: 2.5
env: ACTIVERECORD=4.1.x
- rvm: rbx
env: ACTIVERECORD=5.0.x
- rvm: rbx
env: ACTIVERECORD=5.1.x
- rvm: rbx
env: ACTIVERECORD=5.2.x
- rvm: rbx
env: ACTIVERECORD=6.0.x
- rvm: rbx
env: ACTIVERECORD=6.1.x
- rvm: rbx
env: ACTIVERECORD=6.2.x
- 2.0
- 2.1
- 2.2
- 2.3
- 2.4
- 2.5
- 2.6
- 2.7
- 3.0
- head
- rbx
gemfile:
- gemfiles/rails_3.0.gemfile
- gemfiles/rails_3.1.gemfile
- gemfiles/rails_3.2.gemfile
- gemfiles/rails_4.0.gemfile
- gemfiles/rails_4.1.gemfile
- gemfiles/rails_4.2.gemfile
- gemfiles/rails_5.0.gemfile
- gemfiles/rails_5.1.gemfile
- gemfiles/rails_5.2.gemfile
- gemfiles/rails_6.0.gemfile
- gemfiles/rails_6.1.gemfile
- gemfiles/rails_7_edge.gemfile
- gemfiles/datamapper.gemfile
- gemfiles/sequel.gemfile
jobs:
allow_failures:
- rvm: rbx
- rvm: head
- gemfile: gemfiles/rails_7_edge.gemfile
- rvm: rbx
- gemfile: gemfiles/rails_4.2.gemfile
rvm: '2.0'
- gemfile: gemfiles/rails_4.2.gemfile
rvm: '2.1'
- gemfile: gemfiles/rails_4.2.gemfile
rvm: '2.2'
- gemfile: gemfiles/rails_4.2.gemfile
rvm: '2.3'
- gemfile: gemfiles/rails_4.2.gemfile
rvm: '2.4'
fast_finish: true
addons:
code_climate:
repo_token: a90435ed4954dd6e9f3697a20c5bc3754f67d94703f870e8fc7b00f69f5b2d06
exclude:
- gemfile: gemfiles/rails_3.0.gemfile
rvm: '2.4'
- gemfile: gemfiles/rails_3.0.gemfile
rvm: '2.5'
- gemfile: gemfiles/rails_3.0.gemfile
rvm: '2.6'
- gemfile: gemfiles/rails_3.0.gemfile
rvm: '2.7'
- gemfile: gemfiles/rails_3.0.gemfile
rvm: '3.0'
- gemfile: gemfiles/rails_3.1.gemfile
rvm: '2.4'
- gemfile: gemfiles/rails_3.1.gemfile
rvm: '2.5'
- gemfile: gemfiles/rails_3.1.gemfile
rvm: '2.6'
- gemfile: gemfiles/rails_3.1.gemfile
rvm: '2.7'
- gemfile: gemfiles/rails_3.1.gemfile
rvm: '3.0'
- gemfile: gemfiles/rails_3.2.gemfile
rvm: '2.4'
- gemfile: gemfiles/rails_3.2.gemfile
rvm: '2.5'
- gemfile: gemfiles/rails_3.2.gemfile
rvm: '2.6'
- gemfile: gemfiles/rails_3.2.gemfile
rvm: '2.7'
- gemfile: gemfiles/rails_3.2.gemfile
rvm: '3.0'
- gemfile: gemfiles/rails_4.0.gemfile
rvm: '2.4'
- gemfile: gemfiles/rails_4.0.gemfile
rvm: '2.5'
- gemfile: gemfiles/rails_4.0.gemfile
rvm: '2.6'
- gemfile: gemfiles/rails_4.0.gemfile
rvm: '2.7'
- gemfile: gemfiles/rails_4.0.gemfile
rvm: '3.0'
- gemfile: gemfiles/rails_4.1.gemfile
rvm: '2.4'
- gemfile: gemfiles/rails_4.1.gemfile
rvm: '2.5'
- gemfile: gemfiles/rails_4.1.gemfile
rvm: '2.6'
- gemfile: gemfiles/rails_4.1.gemfile
rvm: '2.7'
- gemfile: gemfiles/rails_4.1.gemfile
rvm: '3.0'
- gemfile: gemfiles/rails_5.0.gemfile
rvm: '2.0'
- gemfile: gemfiles/rails_5.0.gemfile
rvm: '2.1'
- gemfile: gemfiles/rails_5.1.gemfile
rvm: '2.0'
- gemfile: gemfiles/rails_5.1.gemfile
rvm: '2.1'
- gemfile: gemfiles/rails_5.2.gemfile
rvm: '2.0'
- gemfile: gemfiles/rails_5.2.gemfile
rvm: '2.1'
- gemfile: gemfiles/rails_5.2.gemfile
rvm: '2.2'
- gemfile: gemfiles/rails_5.2.gemfile
rvm: '2.3'
- gemfile: gemfiles/rails_5.2.gemfile
rvm: '2.4'
- gemfile: gemfiles/rails_6.0.gemfile
rvm: '2.0'
- gemfile: gemfiles/rails_6.0.gemfile
rvm: '2.1'
- gemfile: gemfiles/rails_6.0.gemfile
rvm: '2.2'
- gemfile: gemfiles/rails_6.0.gemfile
rvm: '2.3'
- gemfile: gemfiles/rails_6.0.gemfile
rvm: '2.4'
- gemfile: gemfiles/rails_6.1.gemfile
rvm: '2.0'
- gemfile: gemfiles/rails_6.1.gemfile
rvm: '2.1'
- gemfile: gemfiles/rails_6.1.gemfile
rvm: '2.2'
- gemfile: gemfiles/rails_6.1.gemfile
rvm: '2.3'
- gemfile: gemfiles/rails_6.1.gemfile
rvm: '2.4'
- gemfile: gemfiles/rails_7_edge.gemfile
rvm: '2.0'
- gemfile: gemfiles/rails_7_edge.gemfile
rvm: '2.1'
- gemfile: gemfiles/rails_7_edge.gemfile
rvm: '2.2'
- gemfile: gemfiles/rails_7_edge.gemfile
rvm: '2.3'
- gemfile: gemfiles/rails_7_edge.gemfile
rvm: '2.4'
31 changes: 31 additions & 0 deletions Appraisals
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

SUPPORTED_RAILS_VERSIONS = %w[3.0 3.1 3.2 4.0 4.1 4.2 5.0 5.1 5.2 6.0 6.1]

SUPPORTED_RAILS_VERSIONS.each do |rails_ver|
appraise "rails-#{rails_ver}" do
gem 'activerecord', "~> #{rails_ver}.x"
gem 'actionpack', "~> #{rails_ver}.x"

install_if -> { %w[3.0 3.1 3.2].include?(rails_ver) } do
gem 'activerecord-sqlite3-adapter'
end

end
end

appraise 'rails-7-edge' do
gem 'activerecord', git: 'https://github.com/rails/rails', branch: 'main'
gem 'actionpack', git: 'https://github.com/rails/rails', branch: 'main'
end

appraise 'datamapper' do
gem 'datamapper'
gem 'dm-sqlite-adapter'
end

appraise 'sequel' do
gem 'sequel'
end



26 changes: 26 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
source 'https://rubygems.org'

gemspec

gem 'appraisal'
gem 'sqlite3'
gem 'encryptor', '~> 3.0.0'
gem 'rake'

gem 'minitest'
gem 'simplecov'
gem 'simplecov-rcov'
gem 'codeclimate-test-reporter', '<= 0.6.0'


if RUBY_VERSION < '2.1.0'
gem 'nokogiri'
gem 'public_suffix', '< 3.0.0'
end

platforms :jruby do
gem 'activerecord-jdbcsqlite3-adapter'
gem 'jdbc-sqlite3', '< 3.8.7' # 3.8.7 is nice and broke
end

group :development do
gem 'wwtd', require: false
gem 'rubocop', require: false
end
6 changes: 5 additions & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
require 'rake/testtask'
require 'rdoc/task'
require "bundler/gem_tasks"
require 'wwtd/tasks'

desc 'Test the attr_encrypted gem.'
Rake::TestTask.new(:test) do |t|
Expand All @@ -22,4 +23,7 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
end

desc 'Default: run unit tests.'
task :default => :test
if !ENV["APPRAISAL_INITIALIZED"] && !ENV["TRAVIS"]
task :default => :appraisal
end
#task :default => :test
1 change: 1 addition & 0 deletions attr_encrypted.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Gem::Specification.new do |s|
s.required_ruby_version = '>= 2.0.0'

s.add_dependency 'encryptor', '~> 3.0.0'
s.add_development_dependency 'appraisal'
s.add_development_dependency 'activerecord', '>= 2.0.0'
s.add_development_dependency 'actionpack', '>= 2.0.0'
s.add_development_dependency 'datamapper'
Expand Down
13 changes: 13 additions & 0 deletions gemfiles/datamapper.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "datamapper"
gem "dm-sqlite-adapter"

group :development do
gem "wwtd", require: false
gem "rubocop", require: false
end

gemspec path: "../"

0 comments on commit aea8d7d

Please sign in to comment.