Skip to content

Commit

Permalink
Merge pull request #2601 from DataDog/ivoanjo/enable-ruby-3.2-ci
Browse files Browse the repository at this point in the history
[PROF-7171] Enable Ruby 3.2 testing in CI
  • Loading branch information
ivoanjo authored Feb 7, 2023
2 parents 37b5e3f + b8a028e commit eadd5e1
Show file tree
Hide file tree
Showing 19 changed files with 90 additions and 198 deletions.
31 changes: 13 additions & 18 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -582,8 +582,7 @@ workflows:
- test-2.7
- test-3.0
- test-3.1
# TODO: Re-enable once 3.2 testing is green!
#- test-3.2
- test-3.2
# ADD NEW RUBIES HERE
# TODO: Disabled for possible removal
#- test-jruby-9.2.8.0
Expand Down Expand Up @@ -731,12 +730,11 @@ workflows:
- orb/build:
<<: *config-3_2
name: build-3.2
# TODO: Re-enable once 3.2 testing is green!
# - orb/test:
# <<: *config-3_2
# name: test-3.2
# requires:
# - build-3.2
- orb/test:
<<: *config-3_2
name: test-3.2
requires:
- build-3.2
# ADD NEW RUBIES HERE
# TODO: Disabled for possible removal
# - orb/build:
Expand Down Expand Up @@ -778,8 +776,7 @@ workflows:
- test-2.7
- test-3.0
- test-3.1
# TODO: Re-enable once 3.2 testing is green!
#- test-3.2
- test-3.2
# ADD NEW RUBIES HERE
# TODO: Disabled for possible removal
# - test-jruby-9.2.8.0
Expand All @@ -799,8 +796,7 @@ workflows:
- test-2.7
- test-3.0
- test-3.1
# TODO: Re-enable once 3.2 testing is green!
#- test-3.2
- test-3.2
# ADD NEW RUBIES HERE
# TODO: Disabled for possible removal
# - test-jruby-9.2.8.0
Expand Down Expand Up @@ -960,12 +956,11 @@ workflows:
<<: *config-3_2
name: build-3.2
edge: true
# TODO: Re-enable once 3.2 testing is green!
# - orb/test:
# <<: *config-3_2
# name: test-3.2
# requires:
# - build-3.2
- orb/test:
<<: *config-3_2
name: test-3.2
requires:
- build-3.2
# ADD NEW RUBIES HERE
# TODO: Disabled for possible removal
# - orb/build:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ jobs:
- '2.7'
- '3.0'
- '3.1'
- '3.2'
# ADD NEW RUBIES HERE
name: Test (${{ matrix.os }}, ${{ matrix.ruby }})
runs-on: ${{ matrix.os }}
Expand Down
133 changes: 2 additions & 131 deletions Appraisals
Original file line number Diff line number Diff line change
Expand Up @@ -1480,7 +1480,7 @@ elsif ruby_version?('2.7')
gem 'dogstatsd-ruby', '~> 4'
end
# ----------------------------------------------------------------------------------------------------------------------
elsif ruby_version?('3.0') || ruby_version?('3.1')
elsif ruby_version?('3.0') || ruby_version?('3.1') || ruby_version?('3.2')
appraise 'rails61-mysql2' do
gem 'rails', '~> 6.1.0'
gem 'mysql2', '~> 0.5', platform: :ruby
Expand Down Expand Up @@ -1624,137 +1624,8 @@ elsif ruby_version?('3.0') || ruby_version?('3.1')
gem 'dogstatsd-ruby', '~> 4'
end
# ----------------------------------------------------------------------------------------------------------------------
elsif ruby_version?('3.2')
appraise 'rails61-mysql2' do
gem 'rails', '~> 6.1.0'
# gem 'mysql2', '~> 0.5', platform: :ruby # broken on Ruby 3.2.0-preview1
gem 'sprockets', '< 4'
gem 'lograge', '~> 0.11'
gem 'net-smtp'
end

appraise 'rails61-postgres' do
gem 'rails', '~> 6.1.0'
gem 'pg', '>= 1.1', platform: :ruby
gem 'sprockets', '< 4'
gem 'lograge', '~> 0.11'
gem 'net-smtp'
end

appraise 'rails61-postgres-redis' do
gem 'rails', '~> 6.1.0'
gem 'pg', '>= 1.1', platform: :ruby
gem 'redis', '>= 4.2.5'
gem 'sprockets', '< 4'
gem 'lograge', '~> 0.11'
gem 'net-smtp'
end

appraise 'rails61-postgres-sidekiq' do
gem 'rails', '~> 6.1.0'
gem 'pg', '>= 1.1', platform: :ruby
gem 'sidekiq', '>= 6.1.2'
gem 'sprockets', '< 4'
gem 'lograge', '~> 0.11'
gem 'rails_semantic_logger', '~> 4.0'
gem 'net-smtp'
end

appraise 'rails61-semantic-logger' do
gem 'rails', '~> 6.1.0'
gem 'pg', '>= 1.1', platform: :ruby
gem 'sprockets', '< 4'
gem 'rails_semantic_logger', '~> 4.0'
gem 'net-smtp'
end

appraise 'resque2-redis3' do
gem 'redis', '< 4.0'
gem 'resque', '>= 2.0'
end

appraise 'resque2-redis4' do
gem 'redis', '>= 4.0'
gem 'resque', '>= 2.0'
end

(3..5).each { |v| gem_cucumber(v) }

appraise 'contrib' do
gem 'actionpack', '~> 7'
gem 'actionview', '~> 7'
gem 'active_model_serializers', '>= 0.10.0'
gem 'activerecord', '~> 7'
gem 'aws-sdk'
gem 'concurrent-ruby'
gem 'cucumber'
gem 'dalli', '>= 3.0.0'
gem 'delayed_job'
gem 'delayed_job_active_record'
gem 'elasticsearch', '>= 8.0.0'
gem 'ethon'
gem 'excon'
gem 'grape'
gem 'graphql', '>= 2.0'
gem 'grpc', '>= 1.38.0' # Minimum version with Ruby 3.0 support
gem 'http'
gem 'httpclient'
gem 'lograge'
gem 'makara', '>= 0.6.0.pre' # Ruby 3 requires >= 0.6.0, which is currently in pre-release: https://rubygems.org/gems/makara/versions
gem 'mongo', '>= 2.8.0', '< 2.15.0' # TODO: FIX TEST BREAKAGES ON >= 2.15 https://github.com/DataDog/dd-trace-rb/issues/1596
# gem 'mysql2', '>= 0.5.3', platform: :ruby # broken on Ruby 3.2.0-preview1
gem 'pg', '>= 1.1', platform: :ruby
gem 'racecar', '>= 0.3.5'
gem 'rack'
gem 'rack-contrib'
gem 'rack-test'
gem 'rake', '>= 12.3'
gem 'rest-client'
gem 'resque'
gem 'roda', '>= 2.0.0'
gem 'ruby-kafka', '>= 0.7.10'
gem 'rspec', '>= 3.0.0'
gem 'semantic_logger', '~> 4.0'
gem 'sequel', '~> 5.54.0' # TODO: Support sequel 5.62.0+
gem 'shoryuken'
gem 'sidekiq'
gem 'sneakers', '>= 2.12.0'
gem 'sqlite3', '>= 1.4.2'
gem 'stripe'
gem 'sucker_punch'
gem 'typhoeus'
gem 'que', '>= 1.0.0'
gem 'net-smtp'
end

appraise 'sinatra' do
gem 'sinatra', '>= 3'
gem 'rack-test'
end

appraise 'opentelemetry' do
gem 'opentelemetry-sdk', '~> 1.1'
end

[3, 4, 5].each do |n|
appraise "redis-#{n}" do
gem 'redis', "~> #{n}"
end
end

appraise 'contrib-old' do
gem 'dalli', '< 3.0.0'
gem 'elasticsearch', '< 8.0.0' # Dependency elasticsearch-transport renamed to elastic-transport in >= 8.0
gem 'graphql', '>= 1.12.0', '< 2.0'
gem 'presto-client', '>= 0.5.14' # Renamed to trino-client in >= 1.0
gem 'qless', '0.12.0'
end

appraise 'core-old' do
gem 'dogstatsd-ruby', '~> 4'
end
end
# ADD NEW RUBIES HERE
end

ruby_runtime = if defined?(RUBY_ENGINE_VERSION)
"#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}"
Expand Down
10 changes: 5 additions & 5 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ task :ci do
declare '✅ 2.1 / ✅ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ jruby' => 'bundle exec appraisal contrib rake spec:semantic_logger'
declare '✅ 2.1 / ✅ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ jruby' => 'bundle exec appraisal contrib rake spec:sequel'
declare '❌ 2.1 / ✅ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ jruby' => 'bundle exec appraisal contrib rake spec:shoryuken'
declare '✅ 2.1 / ✅ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / 3.2 / ✅ jruby' => 'bundle exec appraisal contrib rake spec:sidekiq'
declare '✅ 2.1 / ✅ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / 3.2 / ✅ jruby' => 'bundle exec appraisal contrib rake spec:sidekiq' # Disabled on 3.2 pending investigation of failing spec
declare '❌ 2.1 / ✅ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ jruby' => 'bundle exec appraisal contrib rake spec:sneakers'
declare '❌ 2.1 / ❌ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ jruby' => 'bundle exec appraisal contrib rake spec:stripe'
declare '✅ 2.1 / ✅ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ jruby' => 'bundle exec appraisal contrib rake spec:sucker_punch'
Expand Down Expand Up @@ -370,9 +370,9 @@ task :ci do
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ✅ jruby' => 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis_activesupport'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ✅ jruby' => 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ✅ jruby' => 'bundle exec appraisal rails6-semantic-logger rake spec:railssemanticlogger'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / 3.2 / ✅ jruby' => 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / 3.2 / ✅ jruby' => 'bundle exec appraisal rails61-mysql2 rake spec:action_mailer'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / 3.2 / ✅ jruby' => 'bundle exec appraisal rails61-mysql2 rake spec:rails'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / 3.2 / ✅ jruby' => 'bundle exec appraisal rails61-mysql2 rake spec:action_cable'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / 3.2 / ✅ jruby' => 'bundle exec appraisal rails61-mysql2 rake spec:action_mailer'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / 3.2 / ✅ jruby' => 'bundle exec appraisal rails61-mysql2 rake spec:rails'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ jruby' => 'bundle exec appraisal rails61-postgres rake spec:rails'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ jruby' => 'bundle exec appraisal rails61-postgres rake spec:railsdisableenv'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ✅ jruby' => 'bundle exec appraisal rails61-postgres-redis rake spec:railsredis'
Expand Down Expand Up @@ -408,7 +408,7 @@ task :ci do
declare '✅ 2.1 / ✅ 2.2 / ✅ 2.3 / ❌ 2.4 / ❌ 2.5 / ❌ 2.6 / ❌ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ❌ jruby' => 'bundle exec appraisal rails4-mysql2 rake spec:appsec:rails'
declare '❌ 2.1 / ✅ 2.2 / ✅ 2.3 / ✅ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ❌ jruby' => 'bundle exec appraisal rails5-mysql2 rake spec:appsec:rails'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ❌ 3.0 / ❌ 3.1 / ❌ 3.2 / ❌ jruby' => 'bundle exec appraisal rails6-mysql2 rake spec:appsec:rails'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / 3.2 / ❌ jruby' => 'bundle exec appraisal rails61-mysql2 rake spec:appsec:rails'
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ✅ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / 3.2 / ❌ jruby' => 'bundle exec appraisal rails61-mysql2 rake spec:appsec:rails'

# Upstream gem test suite with ddtrace enabled
declare '❌ 2.1 / ❌ 2.2 / ❌ 2.3 / ❌ 2.4 / ❌ 2.5 / ✅ 2.6 / ✅ 2.7 / ✅ 3.0 / ✅ 3.1 / ✅ 3.2 / ❌ jruby' => 'bundle exec rake upstream:opentelemetry'
Expand Down
2 changes: 2 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ services:
- mongodb
- mysql
- postgres
- presto
- redis
- redis_old
env_file: ./.env
Expand All @@ -248,6 +249,7 @@ services:
- mongodb
- mysql
- postgres
- presto
- redis
- redis_old
env_file: ./.env
Expand Down
14 changes: 9 additions & 5 deletions gemfiles/ruby_3.2.0_contrib.gemfile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit eadd5e1

Please sign in to comment.