Skip to content
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
69 changes: 21 additions & 48 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:

jobs:
test:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest

strategy:
fail-fast: false
Expand All @@ -25,12 +25,10 @@ jobs:
- "2.7"
- "2.6"
- "2.5"
- "jruby-9.4.3.0"
- "jruby-9.2.14.0"
- "truffleruby-23.0.0"
- "truffleruby-22.1.0"
- "truffleruby"
gemfile:
- "rails-edge"
- "rails-8.1"
- "rails-8.0"
- "rails-7.2"
- "rails-7.1"
Expand All @@ -51,14 +49,21 @@ jobs:
ruby-version: "2.6"
- gemfile: "rails-edge"
ruby-version: "2.5"
- gemfile: "rails-edge"
ruby-version: "jruby-9.4.3.0"
- gemfile: "rails-edge"
ruby-version: "jruby-9.2.14.0"
- gemfile: "rails-edge"
ruby-version: "truffleruby-22.1.0"
- gemfile: "rails-edge"
ruby-version: "truffleruby-23.0.0"
- gemfile: "rails-8.1"
ruby-version: "truffleruby"

- gemfile: "rails-8.1"
ruby-version: "3.1"
- gemfile: "rails-8.1"
ruby-version: "3.0"
- gemfile: "rails-8.1"
ruby-version: "2.7"
- gemfile: "rails-8.1"
ruby-version: "2.6"
- gemfile: "rails-8.1"
ruby-version: "2.5"
- gemfile: "rails-8.1"
ruby-version: "truffleruby"

- gemfile: "rails-8.0"
ruby-version: "3.1"
Expand All @@ -70,14 +75,6 @@ jobs:
ruby-version: "2.6"
- gemfile: "rails-8.0"
ruby-version: "2.5"
- gemfile: "rails-8.0"
ruby-version: "jruby-9.4.3.0"
- gemfile: "rails-8.0"
ruby-version: "jruby-9.2.14.0"
- gemfile: "rails-8.0"
ruby-version: "truffleruby-22.1.0"
- gemfile: "rails-8.0"
ruby-version: "truffleruby-23.0.0"

- gemfile: "rails-7.2"
ruby-version: "3.0"
Expand All @@ -87,28 +84,16 @@ jobs:
ruby-version: "2.6"
- gemfile: "rails-7.2"
ruby-version: "2.5"
- gemfile: "rails-7.2"
ruby-version: "jruby-9.4.3.0"
- gemfile: "rails-7.2"
ruby-version: "jruby-9.2.14.0"
- gemfile: "rails-7.2"
ruby-version: "truffleruby-22.1.0"

- gemfile: "rails-7.1"
ruby-version: "2.6"
- gemfile: "rails-7.1"
ruby-version: "2.5"
- gemfile: "rails-7.1"
ruby-version: "jruby-9.4.3.0"
- gemfile: "rails-7.1"
ruby-version: "jruby-9.2.14.0"

- gemfile: "rails-7.0"
ruby-version: "2.6"
- gemfile: "rails-7.0"
ruby-version: "2.5"
- gemfile: "rails-7.0"
ruby-version: "jruby-9.2.14.0"

- gemfile: "rails-5.2"
ruby-version: "3"
Expand All @@ -121,11 +106,7 @@ jobs:
- gemfile: "rails-5.2"
ruby-version: "3.0"
- gemfile: "rails-5.2"
ruby-version: "jruby-9.4.3.0"
- gemfile: "rails-5.2"
ruby-version: "truffleruby-22.1.0"
- gemfile: "rails-5.2"
ruby-version: "truffleruby-23.0.0"
ruby-version: "truffleruby"

- gemfile: "rails-5.1"
ruby-version: "3"
Expand All @@ -138,11 +119,7 @@ jobs:
- gemfile: "rails-5.1"
ruby-version: "3.0"
- gemfile: "rails-5.1"
ruby-version: "jruby-9.4.3.0"
- gemfile: "rails-5.1"
ruby-version: "truffleruby-23.0.0"
- gemfile: "rails-5.1"
ruby-version: "truffleruby-22.1.0"
ruby-version: "truffleruby"

- gemfile: "rails-5.0"
ruby-version: "3"
Expand All @@ -155,11 +132,7 @@ jobs:
- gemfile: "rails-5.0"
ruby-version: "3.0"
- gemfile: "rails-5.0"
ruby-version: "jruby-9.4.3.0"
- gemfile: "rails-5.0"
ruby-version: "truffleruby-23.0.0"
- gemfile: "rails-5.0"
ruby-version: "truffleruby-22.1.0"
ruby-version: "truffleruby"

env:
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
Expand Down
2 changes: 1 addition & 1 deletion gemfiles/rails-8.0.gemfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
source 'https://rubygems.org'

gem 'rails', '~> 8.0.0.pre'
gem 'rails', '~> 8.0.0'
gem 'sidekiq', '>= 7.3.0', require: false

gem 'logtail'
Expand Down
10 changes: 10 additions & 0 deletions gemfiles/rails-8.1.gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
source 'https://rubygems.org'

gem 'rails', '~> 8.1.0'
gem 'sidekiq', '>= 7.3.0', require: false

gem 'logtail'
gem 'logtail-rack'
gem "sqlite3", ">= 2.0"

gemspec :path => '../'
1 change: 1 addition & 0 deletions logtail-rails.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency "rake", ">= 0.8"
spec.add_development_dependency "rspec", "~> 3.0"

spec.add_development_dependency "benchmark", ">= 0"
spec.add_development_dependency "bundler-audit", ">= 0"
spec.add_development_dependency "rails_stdout_logging", ">= 0"
spec.add_development_dependency "rspec-its", ">= 0"
Expand Down
20 changes: 14 additions & 6 deletions spec/logtail-rails/rack_logger_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,21 @@ def method_for_action(action_name)
it "should mute the default rails logs" do
allow(::Rails).to receive(:env).and_return(ActiveSupport::StringInquirer.new("production")) # Rails 3.2.X

dispatch_rails_request("/rails_rack_logger")
# Disable Rails 8.1 event logging for this test to avoid extra log lines
original_enabled = Logtail::Integrations::Rails::EventLogSubscriber.enabled
Logtail::Integrations::Rails::EventLogSubscriber.enabled = false

lines = clean_lines(io.string.split("\n"))
expect(lines.length).to eq(3)
expect(lines[0]).to include("Started GET \\\"/rails_rack_logger\\\"")
expect(lines[1]).to include("Processing by RailsRackLoggerController#index as HTML")
expect(lines[2]).to include("Completed 200 OK in 0.0ms")
begin
dispatch_rails_request("/rails_rack_logger")

lines = clean_lines(io.string.split("\n"))
expect(lines.length).to eq(3)
expect(lines[0]).to include("Started GET \\\"/rails_rack_logger\\\"")
expect(lines[1]).to include("Processing by RailsRackLoggerController#index as HTML")
expect(lines[2]).to include("Completed 200 OK in 0.0ms")
ensure
Logtail::Integrations::Rails::EventLogSubscriber.enabled = original_enabled
end
end
end
end
Expand Down
10 changes: 10 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
require 'rspec'
require 'rspec/its'
require 'rspec/mocks'
require 'benchmark'

# Support files, order is relevant
require File.join(File.dirname(__FILE__), 'support', 'socket_hostname')
Expand Down Expand Up @@ -36,4 +37,13 @@
config.expect_with :rspec do |c|
c.syntax = :expect
end

# Reset Logtail Config.instance.logger before each test to prevent mock leakage
config.before(:each) do
# Reset to default Rails logger proc to prevent mock leakage between tests
Logtail::Config.instance.logger = Proc.new { ::Rails.logger }

# Stub EventLogSubscriber#logger to prevent mock leakage from cached instances
allow_any_instance_of(Logtail::Integrations::Rails::EventLogSubscriber).to receive(:logger).and_return(Logtail::Config.instance.logger)
end
end
Loading