-
Notifications
You must be signed in to change notification settings - Fork 142
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
(CONT-19) Removal of puppet-module-gems #481
Conversation
e78b99e
to
5a0ca4a
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.
I welcome this change.
I'm really excited about this. 🥳 |
5e5ca84
to
5a0ca4a
Compare
With the recent updates to bundler the need for a specific set of gems for each version of ruby that we support has been removed. As such the logic behind our gems is now much simpler and can easily fit within the default templates, thus removing our need to have a separate module to manage them, with the templates already managing all other similar default requirements for our modules.
Prior to this change only a single version requirement could be passed through to the code. With this however we can now spec specify multiple, allowing us a much more exact control of our Gems
4cec4a5
to
92d2772
Compare
417d34b
to
4028ebc
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.
This is amazing!!!
Just one small query from me.
4028ebc
to
569bdc3
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.
👍 on most of it. This code is now unused:
pdk-templates/moduleroot/Gemfile.erb
Lines 58 to 59 in 510abaa
ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments | |
minor_version = ruby_version_segments[0..1].join('.') |
version: '~> 1.0' | ||
- gem: 'rubocop' |
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.
As a hint: rubocop-rake also exists.
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.
Removed the ruby version stuff.
As to rubocop, think that belongs in it's own bit of work for when we next move the pins.
- Added Rubocop gems missing from original commit - Add lower bounds to all gems - Remove `puppet-lint` as it is brought in by `voxpupuli-puppet-lint-plugins` - Remove `specinfra` as it is brought in by `serverspec` - Move `serverspec` to system_tests - Remove `ed25519` and `bcrypt_pbkf` as they are brought in by `net-ssh` - Remove `rspec-puppet` as it is brought in by `puppetlabs_spec_helper` - Pin `facterdb` to 1.18 and up as this is the version which adds Ub22.04 - Remove code previously used to retrieve ruby version
569bdc3
to
ea88f60
Compare
FWIW, users accessing rubygems via an Artifactory repository will want to read about this feature https://www.jfrog.com/confluence/display/JFROG/RubyGems+Repositories#RubyGemsRepositories-RetrievingLatestRubyGemsPackageCompatiblewithYourRubyVersions introduced in Artifactory 7.15.3 We're not running this version yet and in recent months have had to modify our pdk-templates fork to pin more and more gems that were no longer supporting older rubies and no longer being pinned through updates to |
With the recent updates to bundler the need for a specific set off gems for each version of ruby that we support has been removed.
As such the logic behind our gems is now much simpler and can easily fit within the default templates, thus removing our need to have a separate module to manage them, with the templates already managing all other similar default requirements for our modules.