diff --git a/.github/actions/run_unit_tests/action.yml b/.github/actions/run_unit_tests/action.yml index 62ce03be81..f6297e735f 100644 --- a/.github/actions/run_unit_tests/action.yml +++ b/.github/actions/run_unit_tests/action.yml @@ -56,6 +56,9 @@ runs: }, "3.4.4": { "rails": "norails,rails61,rails70,rails71,rails72,rails80,railsedge" + }, + "3.5.0-preview1": { + "rails": "norails,rails61,rails70,rails71,rails72,rails80,railsedge" } } diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0907f7eacd..37ecd90e15 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag v5.0.0 - uses: ruby/setup-ruby@44511735964dcb71245e7e55f72539531f7bc0eb # tag v1.257.0 with: - ruby-version: 3.4 + ruby-version: 3.5.0-preview1 - run: bundle - run: rubocop @@ -36,7 +36,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 3.4.4] + ruby-version: [2.4.10, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -56,7 +56,7 @@ jobs: fail-fast: false matrix: multiverse: [agent, ai, background, background_2, frameworks, httpclients, httpclients_2, hybrid_agent, rails, rest] - ruby-version: [2.4.10, 3.4.4] + ruby-version: [2.4.10, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -89,7 +89,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 3.4.4] + ruby-version: [2.4.10, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -139,7 +139,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 3.4.4] + ruby-version: [2.4.10, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -182,7 +182,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 3.4.4] + ruby-version: [2.4.10, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -229,7 +229,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 3.4.4] + ruby-version: [2.4.10, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -268,7 +268,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 3.4.4] + ruby-version: [2.4.10, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -287,7 +287,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.7.8, 3.4.4] + ruby-version: [2.7.8, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -312,7 +312,7 @@ jobs: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag v5.0.0 - uses: ruby/setup-ruby@44511735964dcb71245e7e55f72539531f7bc0eb # tag v1.257.0 with: - ruby-version: 3.4 + ruby-version: 3.5.0-preview1 - run: bundle - name: Download all workflow run artifacts uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # tag v5.0.0 diff --git a/.github/workflows/ci_cron.yml b/.github/workflows/ci_cron.yml index de2e918ece..e9e240548c 100644 --- a/.github/workflows/ci_cron.yml +++ b/.github/workflows/ci_cron.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # tag v5.0.0 - uses: ruby/setup-ruby@44511735964dcb71245e7e55f72539531f7bc0eb # tag v1.257.0 with: - ruby-version: 3.4 + ruby-version: 3.5.0-preview1 - run: bundle - run: rubocop @@ -36,7 +36,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4] + ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -54,7 +54,7 @@ jobs: fail-fast: false matrix: multiverse: [agent, ai, background, background_2, frameworks, httpclients, httpclients_2, hybrid_agent, rails, rest] - ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4] + ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -88,7 +88,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4] + ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -139,7 +139,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4] + ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -183,7 +183,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4] + ruby-version: [2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -231,7 +231,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4] + ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -271,7 +271,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4] + ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' @@ -290,7 +290,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4] + ruby-version: [2.7.8, 3.0.7, 3.1.7, 3.2.8, 3.3.8, 3.4.4, 3.5.0-preview1] steps: - name: Configure git run: 'git config --global init.defaultBranch main' diff --git a/.github/workflows/scripts/setup_bundler b/.github/workflows/scripts/setup_bundler index d8df689006..be846458f5 100755 --- a/.github/workflows/scripts/setup_bundler +++ b/.github/workflows/scripts/setup_bundler @@ -81,14 +81,18 @@ function install_ruby_version_specific_gems { gem install --default digest:3.1.0 gem install --default digest:3.2.0 gem install --default erb:4.0.4 - gem install --default erb:5.0.1 - gem install --default logger:1.7.0 + gem install --default erb:5.0.2 + gem install --default securerandom:0.3.2 gem install --default securerandom:0.4.1 gem install --default set:1.1.2 gem install --default strscan:3.0.4 gem install --default strscan:3.1.5 + if [[ $RUBY_VERSION =~ ^(2\.|3\.[0-4]) ]]; then + gem install --default logger:1.7.0 + fi + echo "DEBUG: Completed installing gems" } diff --git a/newrelic_rpm.gemspec b/newrelic_rpm.gemspec index dd930d8ce7..7721443ae4 100644 --- a/newrelic_rpm.gemspec +++ b/newrelic_rpm.gemspec @@ -50,6 +50,8 @@ Gem::Specification.new do |s| s.require_paths = ['lib'] s.summary = 'New Relic Ruby Agent' + s.add_dependency 'logger' + s.add_development_dependency 'bundler' s.add_development_dependency 'feedjira', '3.2.1' unless ENV['CI'] || RUBY_VERSION < '2.5' # for Gabby s.add_development_dependency 'httparty' unless ENV['CI'] # for perf tests and Gabby diff --git a/test/environments/rails61/Gemfile b/test/environments/rails61/Gemfile index 116aaec5b8..71877d8a68 100644 --- a/test/environments/rails61/Gemfile +++ b/test/environments/rails61/Gemfile @@ -40,6 +40,7 @@ if RUBY_VERSION.split('.')[0..1].join('.').to_f >= 3.4 gem 'bigdecimal' gem 'mutex_m' gem 'ostruct' + gem 'benchmark' end gem 'logger' diff --git a/test/environments/rails70/Gemfile b/test/environments/rails70/Gemfile index e397df835c..3d3ddb23b0 100644 --- a/test/environments/rails70/Gemfile +++ b/test/environments/rails70/Gemfile @@ -26,5 +26,6 @@ if RUBY_VERSION.split('.')[0..1].join('.').to_f >= 3.4 gem 'bigdecimal' gem 'mutex_m' gem 'ostruct' + gem 'benchmark' end gem 'logger' diff --git a/test/environments/rails71/Gemfile b/test/environments/rails71/Gemfile index ea32d158a3..b2fa5e0a5e 100644 --- a/test/environments/rails71/Gemfile +++ b/test/environments/rails71/Gemfile @@ -26,5 +26,6 @@ if RUBY_VERSION.split('.')[0..1].join('.').to_f >= 3.4 gem 'bigdecimal' gem 'mutex_m' gem 'ostruct' + gem 'benchmark' end gem 'logger' diff --git a/test/environments/rails72/Gemfile b/test/environments/rails72/Gemfile index d167e2adb9..31ef98699b 100644 --- a/test/environments/rails72/Gemfile +++ b/test/environments/rails72/Gemfile @@ -26,5 +26,6 @@ if RUBY_VERSION.split('.')[0..1].join('.').to_f >= 3.4 gem 'bigdecimal' gem 'mutex_m' gem 'ostruct' + gem 'benchmark' end gem 'logger' diff --git a/test/environments/rails80/Gemfile b/test/environments/rails80/Gemfile index dbe0d6e3f7..f81f3a203d 100644 --- a/test/environments/rails80/Gemfile +++ b/test/environments/rails80/Gemfile @@ -26,5 +26,6 @@ if RUBY_VERSION.split('.')[0..1].join('.').to_f >= 3.4 gem 'bigdecimal' gem 'mutex_m' gem 'ostruct' + gem 'benchmark' end gem 'logger' diff --git a/test/environments/railsedge/Gemfile b/test/environments/railsedge/Gemfile index 432940ac18..1548edd3ed 100644 --- a/test/environments/railsedge/Gemfile +++ b/test/environments/railsedge/Gemfile @@ -26,5 +26,6 @@ if RUBY_VERSION.split('.')[0..1].join('.').to_f >= 3.4 gem 'bigdecimal' gem 'mutex_m' gem 'ostruct' + gem 'benchmark' end gem 'logger' diff --git a/test/multiverse/suites/active_record_pg/Envfile b/test/multiverse/suites/active_record_pg/Envfile index 5e84dd4e9f..f872fff28c 100644 --- a/test/multiverse/suites/active_record_pg/Envfile +++ b/test/multiverse/suites/active_record_pg/Envfile @@ -36,6 +36,7 @@ def gem_list(activerecord_version = nil) gem 'rack' gem 'minitest', '~> 5.2.3' + gem 'benchmark' if RUBY_VERSION >= '3.5.0' RB end diff --git a/test/multiverse/suites/capistrano2/Envfile b/test/multiverse/suites/capistrano2/Envfile index 60516f4c9f..2a1191cca8 100644 --- a/test/multiverse/suites/capistrano2/Envfile +++ b/test/multiverse/suites/capistrano2/Envfile @@ -9,5 +9,5 @@ end gemfile <<~RB gem 'capistrano', '~> 2.15.5' gem 'rack' - + gem 'benchmark' if RUBY_VERSION >= '3.5.0' RB diff --git a/test/multiverse/suites/delayed_job/Envfile b/test/multiverse/suites/delayed_job/Envfile index 565e1bdf93..0285b2ab0a 100644 --- a/test/multiverse/suites/delayed_job/Envfile +++ b/test/multiverse/suites/delayed_job/Envfile @@ -26,6 +26,7 @@ end boilerplate_gems = <<~SQLITE gem 'rack' + gem 'benchmark' #{sqlite} #{bigdecimal} diff --git a/test/multiverse/suites/rails/Envfile b/test/multiverse/suites/rails/Envfile index a04aceb08c..d7498d9b14 100644 --- a/test/multiverse/suites/rails/Envfile +++ b/test/multiverse/suites/rails/Envfile @@ -46,6 +46,7 @@ def gem_list(rails_version = nil) gem 'erubis' if RUBY_PLATFORM.eql?('java') gem 'loofah', '~> 2.20.0' if RUBY_VERSION >= '2.4.0' && RUBY_VERSION < '2.5.0' gem 'drb' if RUBY_VERSION >= '3.4.0' + gem 'benchmark' if RUBY_VERSION >= '3.5.0' RB end diff --git a/test/multiverse/suites/rails_prepend/Envfile b/test/multiverse/suites/rails_prepend/Envfile index 9382a735bf..97fd7fdbbe 100644 --- a/test/multiverse/suites/rails_prepend/Envfile +++ b/test/multiverse/suites/rails_prepend/Envfile @@ -31,6 +31,7 @@ def gem_list(rails_version = nil) #{thor} gem 'loofah', '~> 2.20.0' if RUBY_VERSION >= '2.4.0' && RUBY_VERSION < '2.5.0' gem 'drb' if RUBY_VERSION >= '3.4.0' + gem 'benchmark' if RUBY_VERSION >= '3.5.0' RB end