-
Notifications
You must be signed in to change notification settings - Fork 375
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
Extract db appraisal group #3130
Conversation
Can you explain why you hesitated? |
The reason I group those gems because they require database adapter ( The ones excluded ( |
Motivation:
From internal discussion, we want to horizontally scale our appraisal groups, instead of vertically. This means we are breaking large appraisal groups into smaller ones.
What does this PR do?
This PR extracts
relational_db
group fromcontrib
group. This group includes a range of gems that are depending on a relational database.Additional Notes
I started off with extracting
activesupport
group, but found there are strong coupling in our test with our db adatpers(mysql2
,pg
andsqlite
) whileactiverecord
does not declare dependencies for them. It would be strange to include those adapters into theactivesupport
group. Hence, I pivot to extract those relational database related gems. I hesitate to include other db related gems(mongodb
,presto
/trino
,dalli
) at this moment.The original
bundle exec rake test:autoinstrument
is failing because the test cases were setup with a Sinatra application making db request but now the appraisal groupcontrib
no longer contains those db gems. I consider making db request to be excessive for test case to verify the auto instrument behaviour, so I fix the task by removing the those db calls and change the dependent group tosinatra
and increase the ruby version support to latest version.