-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Make sure tests use the same gem versions we use in production #8138
Conversation
9a56a6a
to
98e4c3c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These changes made a lot more sense after I saw your comment in #8134 (comment)
I think this will work!
Thanks @Nishnha, yes, I think this will work. However, turns out some specs depend on a |
5235c25
to
cf4e095
Compare
b0995b3
to
d586bf6
Compare
d586bf6
to
ce36566
Compare
I think this is good to go now. Doing this would prevent sudden introduction of broken tests by external releases, like it happened at #8509. That workaround will no longer be necessary with this PR, although I'm not reverting it, because we do use Also, note that in my opinion the best solution here would be for each ecosystem to have its own Gemfile & Gemfile.lock file, but without multidir version updates group PRs, it's going to get very noisy, so reusing |
ce36566
to
6dc7574
Compare
They were relying on the presence of a Gemfile file in the folder where they run. Switch to a folder that will always have a Gemfile.
6dc7574
to
35277c3
Compare
And add it to the main Gemfile. Yes, only pub depends on it, but it's the single case of an ecosystem having a specific development dependency. Moving it to common will allow fulling locking all dependencies in the updater lockfile.
Before, each ecosystem would have a `Gemfile` but not a lockfile, so tests would run against the latest compatible version of all dependencies. With this change, ecosystem specs will run using the Gemfile and Gemfile.lock in updater/, so they will consistenly use the same versions as production.
We no longer gitignore any Gemfile.lock file.
35277c3
to
1ba42ca
Compare
Let's see how this setup works! |
In #8134 it was noticed that running
rubocop
from an ecosystem directory, will run the latest version of RuboCop, not the ones we have locked atupdater/Gemfile.lock
.This PR is an experiment to try to make sure a consistent version of rubocop is run all around while also simplifying our setup.