Skip to content

Commit 4de39f6

Browse files
author
Dmytro Savochkin
committed
Add ruby 2.2 and 2.3 to CI
1 parent e4f60b2 commit 4de39f6

File tree

5 files changed

+31
-12
lines changed

5 files changed

+31
-12
lines changed

.github/workflows/checks.yml

+8-1
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ jobs:
7777
rails: '6.0'
7878
- ruby: '2.4'
7979
rails: '5.2'
80+
- ruby: '2.3'
81+
rails: '5.2'
82+
skipped_adapters: 'mysql,postgresql' # these adapters don't work well with this setup
83+
- ruby: '2.2.10'
84+
rails: '5.2'
85+
skipped_adapters: 'mysql,postgresql' # these adapters don't work well with this setup
8086
- ruby: 'jruby'
8187
rails: '6.1'
8288
- ruby: 'jruby'
@@ -89,6 +95,7 @@ jobs:
8995
rails: '6.0'
9096
env:
9197
BUNDLE_GEMFILE: gemfiles/activerecord_${{ matrix.rails }}.gemfile
98+
SKIPPED_ADAPTERS: ${{ matrix.skipped_adapters }}
9299
steps:
93100
- name: Checkout
94101
uses: actions/checkout@v3
@@ -100,7 +107,7 @@ jobs:
100107
ruby-version: ${{ matrix.ruby }}
101108
bundler-cache: true
102109
- name: Run tests
103-
run: ${{ matrix.env }} bundle exec rake spec
110+
run: bundle exec rake spec
104111
- name: Upload code coverage results as artifacts
105112
uses: actions/upload-artifact@v3
106113
with:

Rakefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace :ci do
2121
task :collate do
2222
require "simplecov"
2323
SimpleCov.collate Dir["coverage-resultsets/coverage-*/.resultset.json"] do
24-
enable_coverage :branch
24+
enable_coverage :branch if respond_to?(:enable_coverage)
2525
formatter SimpleCov::Formatter::SimpleFormatter
2626
end
2727
end

spec/spec_helper.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
require "simplecov"
22
SimpleCov.start do
3-
enable_coverage :branch
3+
enable_coverage :branch if respond_to?(:enable_coverage)
44
add_filter "test_config.rb"
55
end
66

spec/test_config.rb

+7-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ def current_config
77
end
88

99
def adapter_versions
10-
config.keys
10+
@adapter_versions ||=
11+
config.keys.reject { |key| skipped_adapters.any? { |adapter| key.to_s.include?(adapter) } }
1112
end
1213

1314
# #current_adapter_version and #current_adapter_version= use an environment variable because
@@ -23,6 +24,11 @@ def current_adapter_version=(adapter_version)
2324
ENV["TEMPING_ADAPTER_VERSION"] = adapter_version
2425
end
2526

27+
def skipped_adapters
28+
@skipped_adapters ||= ENV["SKIPPED_ADAPTERS"].to_s.downcase.split(/[,:;]/)
29+
end
30+
private :skipped_adapters
31+
2632
def config
2733
@config ||= YAML.safe_load(File.read(config_path))
2834
end

temping.gemspec

+14-8
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,24 @@ Gem::Specification.new do |s|
1616

1717
s.add_development_dependency "appraisal"
1818

19-
if RUBY_PLATFORM.match?(/java/)
20-
s.add_development_dependency "activerecord-jdbcsqlite3-adapter", ">= 60.0"
21-
s.add_development_dependency "activerecord-jdbcpostgresql-adapter", ">= 60.0"
22-
s.add_development_dependency "activerecord-jdbcmysql-adapter", ">= 60.0"
19+
skipped_adapters = ENV["SKIPPED_ADAPTERS"].to_s.downcase
20+
sqlite_skipped = skipped_adapters.include?("sqlite")
21+
postgresql_skipped = skipped_adapters.include?("postgres")
22+
mysql_skipped = skipped_adapters.include?("mysql")
23+
if RUBY_PLATFORM.include?("java")
24+
s.add_development_dependency "activerecord-jdbcsqlite3-adapter", ">= 60.0" unless sqlite_skipped
25+
unless postgresql_skipped
26+
s.add_development_dependency "activerecord-jdbcpostgresql-adapter", ">= 60.0"
27+
end
28+
s.add_development_dependency "activerecord-jdbcmysql-adapter", ">= 60.0" unless mysql_skipped
2329
else
24-
s.add_development_dependency "sqlite3", ">= 1.3", "< 2.0"
25-
s.add_development_dependency "pg", ">= 1.2", "< 2.0"
26-
s.add_development_dependency "mysql2", "~> 0.5"
30+
s.add_development_dependency "sqlite3", ">= 1.3", "< 2.0" unless sqlite_skipped
31+
s.add_development_dependency "pg", ">= 1.2", "< 2.0" unless postgresql_skipped
32+
s.add_development_dependency "mysql2", "~> 0.5" unless mysql_skipped
2733
end
2834

2935
s.add_development_dependency "rspec", "~> 3.12"
3036
s.add_development_dependency "rake", "~> 13.0"
31-
s.add_development_dependency "simplecov", "~> 0.18"
37+
s.add_development_dependency "simplecov", "~> 0.17"
3238
s.add_development_dependency "standard"
3339
end

0 commit comments

Comments
 (0)