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
Fix plugin installation from gemfile #6957
base: master
Are you sure you want to change the base?
Conversation
I've confirmed this also fixes #6589 |
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.
This is awesome 🎸
024ff9c
to
7122f47
Compare
@pboling anything else you wanted to see on this PR? |
Moving the ball forward on plugins is amazing. There is probably still some gap before I can do what I was hoping with plugins, but this is a great step toward making them more of a first-class citizen within bundler. |
This is indeed pretty cool! @ccutrer can you rebase this? |
There are several conflicts. I'll try to get them resolved later today. |
31d3050
to
c014b7f
Compare
Rebased and conflicts resolved; I didn't run rubocop or specs locally -- I'll let GitHub Actions handle that |
Keep track of plugins during the main Gemfile pass, and then validate that they're installed everywhere else we validate the runtime.
@ccutrer I assume test failures here mean this still needs some work? Happy to have a look if needed! |
plugin_should_not_be_installed("foo") | ||
end | ||
|
||
it "upgrade plugins version listed in gemfile" do |
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.
Adding a review comment here so we don't forget when we work on this PR: we should add @dfop02 attribution to the commit adding these specs, since he is the original author.
Yes, this still needs attention. I'm sorry I haven't had time for it - have had other priorities at work. |
No problem at all! |
What was the end-user or developer problem that led to this PR?
This fixes #6630 and several related issues. Related to #6643, but a very different approach. Specs were copied from that PR though.
What is your fix for the problem, implemented in this PR?
Instead of blindly calling the installer with the plugins from the gemfile, build a virtual lockfile from the plugin index. Then only call the installer if it needs to be resolved. This fixes several issues:
bundle install
is calledMake sure the following tasks are checked