Skip to content

Commit 3ddf4a9

Browse files
authored
feat(rails): support for solid queue (#2942)
* chore(deps): bump locks * feat(rails): initial support for Solid Queue * chore(specs): add solid queue to e2e specs * chore(e2e): auto-bundle if needed when serving apps * chore(e2e): use ActiveSupport::Logger for proper supression support * fix(e2e): define env vars for manual testing
1 parent 7ab412f commit 3ddf4a9

44 files changed

Lines changed: 642 additions & 28 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ SENTRY_E2E_SVELTE_APP_PORT=4001
1212
SENTRY_E2E_RAILS_APP_URL="http://localhost:4000"
1313
SENTRY_E2E_SVELTE_APP_URL="http://localhost:4001"
1414

15-
# ActiveJob queue adapter under test: async | inline | sidekiq | resque | delayed_job
15+
# ActiveJob queue adapter under test: async | inline | sidekiq | resque | delayed_job | solid_queue
1616
SENTRY_E2E_ACTIVE_JOB_ADAPTER="async"
1717

1818
# Redis for the sidekiq/resque adapters (the Compose service is named "redis")

.github/workflows/e2e_tests.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ jobs:
3535
- sidekiq
3636
- resque
3737
- delayed_job
38+
- solid_queue
3839

3940
steps:
4041
- name: Checkout code

.mise.toml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ ruby = "latest"
66
node = "lts"
77
java = "temurin-21"
88

9+
[env]
10+
SENTRY_E2E_RAILS_APP_PORT = "{{ env.SENTRY_E2E_RAILS_APP_PORT | default(value='4000') }}"
11+
SENTRY_E2E_SVELTE_APP_PORT = "{{ env.SENTRY_E2E_SVELTE_APP_PORT | default(value='4001') }}"
12+
SENTRY_E2E_RAILS_APP_URL = "{{ env.SENTRY_E2E_RAILS_APP_URL | default(value='http://localhost:4000') }}"
13+
SENTRY_E2E_SVELTE_APP_URL = "{{ env.SENTRY_E2E_SVELTE_APP_URL | default(value='http://localhost:4001') }}"
14+
915
[tasks.lint]
1016
description = "Lint the whole repo with rubocop"
1117
dir = "{{ config_root }}"
@@ -26,15 +32,27 @@ run = [
2632

2733
[tasks."e2e:rails"]
2834
description = "Start the rails-mini e2e app"
29-
run = "cd spec/apps/rails-mini && bundle exec ruby app.rb"
35+
dir = "{{ config_root }}/spec/apps/rails-mini"
36+
run = [
37+
"bundle check >/dev/null 2>&1 || bundle install",
38+
"bundle exec ruby app.rb"
39+
]
3040

3141
[tasks."e2e:svelte"]
3242
description = "Start the svelte-mini e2e app"
33-
run = "cd spec/apps/svelte-mini && npm run dev"
43+
dir = "{{ config_root }}/spec/apps/svelte-mini"
44+
run = [
45+
"npm install",
46+
"npm run dev"
47+
]
3448

3549
[tasks."e2e:worker"]
36-
description = "Start the rails-mini ActiveJob worker (sidekiq/resque/delayed_job; idles for async/inline)"
37-
run = "cd spec/apps/rails-mini && bundle exec ruby worker.rb"
50+
description = "Start the rails-mini ActiveJob worker (sidekiq/resque/delayed_job/solid_queue; idles for async/inline)"
51+
dir = "{{ config_root }}/spec/apps/rails-mini"
52+
run = [
53+
"bundle check >/dev/null 2>&1 || bundle install",
54+
"bundle exec ruby worker.rb"
55+
]
3856

3957
[tasks."e2e:serve"]
4058
description = "Start all e2e apps in parallel"

sentry-delayed_job/gemfiles/ruby-2.7.gemfile.lock

Lines changed: 7 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sentry-opentelemetry/gemfiles/ruby-2.7.gemfile.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sentry-rails/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/doc/
66
/pkg/
77
/spec/reports/
8-
/spec/dummy/test_rails_app/db*
8+
/spec/dummy/test_rails_app/**/*.sqlite3*
99
/tmp/
1010

1111
# rspec failure tracking

sentry-rails/Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,16 @@ gem "rails", "~> #{rails_version}"
3232

3333
if rails_version >= Gem::Version.new("8.1.0")
3434
gem "rspec-rails", "~> 8.0.0"
35+
gem "solid_queue"
3536
gem "sqlite3", "~> 2.1.1", platform: :ruby
3637
elsif rails_version >= Gem::Version.new("8.0.0")
3738
gem "rspec-rails", "~> 8.0.0"
39+
gem "solid_queue"
3840
gem "sqlite3", "~> 2.1.1", platform: :ruby
3941
elsif rails_version >= Gem::Version.new("7.1.0")
4042
gem "psych", "~> 4.0.0"
4143
gem "rspec-rails", "~> 7.0"
44+
gem "solid_queue"
4245
gem "sqlite3", "~> 1.7.3", platform: :ruby
4346
elsif rails_version >= Gem::Version.new("6.1.0")
4447
gem "rspec-rails", "~> 6.0"

sentry-rails/gemfiles/ruby-2.7_rails-5.2.0.gemfile.lock

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sentry-rails/gemfiles/ruby-2.7_rails-6.0.0.gemfile.lock

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sentry-rails/gemfiles/ruby-2.7_rails-6.1.0.gemfile.lock

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)