Skip to content

Commit 914b317

Browse files
authored
Update GitHub Actions runner to use ubuntu-latest (#52)
1 parent 5e492b8 commit 914b317

File tree

6 files changed

+57
-55
lines changed

6 files changed

+57
-55
lines changed

.github/workflows/main.yml

Lines changed: 21 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
jobs:
1212
test:
13-
runs-on: ubuntu-20.04
13+
runs-on: ubuntu-latest
1414

1515
strategy:
1616
fail-fast: false
@@ -25,12 +25,10 @@ jobs:
2525
- "2.7"
2626
- "2.6"
2727
- "2.5"
28-
- "jruby-9.4.3.0"
29-
- "jruby-9.2.14.0"
30-
- "truffleruby-23.0.0"
31-
- "truffleruby-22.1.0"
28+
- "truffleruby"
3229
gemfile:
3330
- "rails-edge"
31+
- "rails-8.1"
3432
- "rails-8.0"
3533
- "rails-7.2"
3634
- "rails-7.1"
@@ -51,14 +49,21 @@ jobs:
5149
ruby-version: "2.6"
5250
- gemfile: "rails-edge"
5351
ruby-version: "2.5"
54-
- gemfile: "rails-edge"
55-
ruby-version: "jruby-9.4.3.0"
56-
- gemfile: "rails-edge"
57-
ruby-version: "jruby-9.2.14.0"
58-
- gemfile: "rails-edge"
59-
ruby-version: "truffleruby-22.1.0"
60-
- gemfile: "rails-edge"
61-
ruby-version: "truffleruby-23.0.0"
52+
- gemfile: "rails-8.1"
53+
ruby-version: "truffleruby"
54+
55+
- gemfile: "rails-8.1"
56+
ruby-version: "3.1"
57+
- gemfile: "rails-8.1"
58+
ruby-version: "3.0"
59+
- gemfile: "rails-8.1"
60+
ruby-version: "2.7"
61+
- gemfile: "rails-8.1"
62+
ruby-version: "2.6"
63+
- gemfile: "rails-8.1"
64+
ruby-version: "2.5"
65+
- gemfile: "rails-8.1"
66+
ruby-version: "truffleruby"
6267

6368
- gemfile: "rails-8.0"
6469
ruby-version: "3.1"
@@ -70,14 +75,6 @@ jobs:
7075
ruby-version: "2.6"
7176
- gemfile: "rails-8.0"
7277
ruby-version: "2.5"
73-
- gemfile: "rails-8.0"
74-
ruby-version: "jruby-9.4.3.0"
75-
- gemfile: "rails-8.0"
76-
ruby-version: "jruby-9.2.14.0"
77-
- gemfile: "rails-8.0"
78-
ruby-version: "truffleruby-22.1.0"
79-
- gemfile: "rails-8.0"
80-
ruby-version: "truffleruby-23.0.0"
8178

8279
- gemfile: "rails-7.2"
8380
ruby-version: "3.0"
@@ -87,28 +84,16 @@ jobs:
8784
ruby-version: "2.6"
8885
- gemfile: "rails-7.2"
8986
ruby-version: "2.5"
90-
- gemfile: "rails-7.2"
91-
ruby-version: "jruby-9.4.3.0"
92-
- gemfile: "rails-7.2"
93-
ruby-version: "jruby-9.2.14.0"
94-
- gemfile: "rails-7.2"
95-
ruby-version: "truffleruby-22.1.0"
9687

9788
- gemfile: "rails-7.1"
9889
ruby-version: "2.6"
9990
- gemfile: "rails-7.1"
10091
ruby-version: "2.5"
101-
- gemfile: "rails-7.1"
102-
ruby-version: "jruby-9.4.3.0"
103-
- gemfile: "rails-7.1"
104-
ruby-version: "jruby-9.2.14.0"
10592

10693
- gemfile: "rails-7.0"
10794
ruby-version: "2.6"
10895
- gemfile: "rails-7.0"
10996
ruby-version: "2.5"
110-
- gemfile: "rails-7.0"
111-
ruby-version: "jruby-9.2.14.0"
11297

11398
- gemfile: "rails-5.2"
11499
ruby-version: "3"
@@ -121,11 +106,7 @@ jobs:
121106
- gemfile: "rails-5.2"
122107
ruby-version: "3.0"
123108
- gemfile: "rails-5.2"
124-
ruby-version: "jruby-9.4.3.0"
125-
- gemfile: "rails-5.2"
126-
ruby-version: "truffleruby-22.1.0"
127-
- gemfile: "rails-5.2"
128-
ruby-version: "truffleruby-23.0.0"
109+
ruby-version: "truffleruby"
129110

130111
- gemfile: "rails-5.1"
131112
ruby-version: "3"
@@ -138,11 +119,7 @@ jobs:
138119
- gemfile: "rails-5.1"
139120
ruby-version: "3.0"
140121
- gemfile: "rails-5.1"
141-
ruby-version: "jruby-9.4.3.0"
142-
- gemfile: "rails-5.1"
143-
ruby-version: "truffleruby-23.0.0"
144-
- gemfile: "rails-5.1"
145-
ruby-version: "truffleruby-22.1.0"
122+
ruby-version: "truffleruby"
146123

147124
- gemfile: "rails-5.0"
148125
ruby-version: "3"
@@ -155,11 +132,7 @@ jobs:
155132
- gemfile: "rails-5.0"
156133
ruby-version: "3.0"
157134
- gemfile: "rails-5.0"
158-
ruby-version: "jruby-9.4.3.0"
159-
- gemfile: "rails-5.0"
160-
ruby-version: "truffleruby-23.0.0"
161-
- gemfile: "rails-5.0"
162-
ruby-version: "truffleruby-22.1.0"
135+
ruby-version: "truffleruby"
163136

164137
env:
165138
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile

gemfiles/rails-8.0.gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
source 'https://rubygems.org'
22

3-
gem 'rails', '~> 8.0.0.pre'
3+
gem 'rails', '~> 8.0.0'
44
gem 'sidekiq', '>= 7.3.0', require: false
55

66
gem 'logtail'

gemfiles/rails-8.1.gemfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
source 'https://rubygems.org'
2+
3+
gem 'rails', '~> 8.1.0'
4+
gem 'sidekiq', '>= 7.3.0', require: false
5+
6+
gem 'logtail'
7+
gem 'logtail-rack'
8+
gem "sqlite3", ">= 2.0"
9+
10+
gemspec :path => '../'

logtail-rails.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Gem::Specification.new do |spec|
3939
spec.add_development_dependency "rake", ">= 0.8"
4040
spec.add_development_dependency "rspec", "~> 3.0"
4141

42+
spec.add_development_dependency "benchmark", ">= 0"
4243
spec.add_development_dependency "bundler-audit", ">= 0"
4344
spec.add_development_dependency "rails_stdout_logging", ">= 0"
4445
spec.add_development_dependency "rspec-its", ">= 0"

spec/logtail-rails/rack_logger_spec.rb

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,21 @@ def method_for_action(action_name)
3838
it "should mute the default rails logs" do
3939
allow(::Rails).to receive(:env).and_return(ActiveSupport::StringInquirer.new("production")) # Rails 3.2.X
4040

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

43-
lines = clean_lines(io.string.split("\n"))
44-
expect(lines.length).to eq(3)
45-
expect(lines[0]).to include("Started GET \\\"/rails_rack_logger\\\"")
46-
expect(lines[1]).to include("Processing by RailsRackLoggerController#index as HTML")
47-
expect(lines[2]).to include("Completed 200 OK in 0.0ms")
45+
begin
46+
dispatch_rails_request("/rails_rack_logger")
47+
48+
lines = clean_lines(io.string.split("\n"))
49+
expect(lines.length).to eq(3)
50+
expect(lines[0]).to include("Started GET \\\"/rails_rack_logger\\\"")
51+
expect(lines[1]).to include("Processing by RailsRackLoggerController#index as HTML")
52+
expect(lines[2]).to include("Completed 200 OK in 0.0ms")
53+
ensure
54+
Logtail::Integrations::Rails::EventLogSubscriber.enabled = original_enabled
55+
end
4856
end
4957
end
5058
end

spec/spec_helper.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
require 'rspec'
77
require 'rspec/its'
88
require 'rspec/mocks'
9+
require 'benchmark'
910

1011
# Support files, order is relevant
1112
require File.join(File.dirname(__FILE__), 'support', 'socket_hostname')
@@ -36,4 +37,13 @@
3637
config.expect_with :rspec do |c|
3738
c.syntax = :expect
3839
end
40+
41+
# Reset Logtail Config.instance.logger before each test to prevent mock leakage
42+
config.before(:each) do
43+
# Reset to default Rails logger proc to prevent mock leakage between tests
44+
Logtail::Config.instance.logger = Proc.new { ::Rails.logger }
45+
46+
# Stub EventLogSubscriber#logger to prevent mock leakage from cached instances
47+
allow_any_instance_of(Logtail::Integrations::Rails::EventLogSubscriber).to receive(:logger).and_return(Logtail::Config.instance.logger)
48+
end
3949
end

0 commit comments

Comments
 (0)