Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PROF-7171] Enable Ruby 3.2 testing in CI #2601

Merged
merged 5 commits into from
Feb 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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