This is a tracking thread to cover the activities being under taken to get our RPM deployments moved over to Ruby 2.7. The biggest hurdle is the mass rebuilds of RPMs that has to occur whenever we undertake this kind of change. I am creating this tracking thread to bring awareness to the various efforts required to inform this as well to get the communities help in tackling tangential but required PRs.
There is a Redmine Tracker to track the code and/or testing changes needed for each project. If you are a plugin maintainer who runs your testing not through Jenkins and are not already testing against Ruby 2.7, please either update your plugin to do so or ping this thread and I will help look into.
There is a Packaging Milestone where I am collecting a broken out set of PRs that will be needed to in order to rebuild all of the RPMs. My goal here is to get PRs open with reasonable chunks of packages for review (should largely be release bumps) to then find a 2-3 day window to orchestrate rebuilding everything.
There are a few Jenkins job related PRs being tracked as well to get projects not currently testing against Ruby 2.7 to do so:
There will be at least one additional infrastructure change in Forklift to switch to rh-ruby27 as the default within the necessary roles, playbooks and devel puppet module.
A tangential blocker is that the following list of plugins will not currently RPM build due to dependencies that cannot be currently satisfied within the packaging environment.
In all cases they are requiring a version of
@theforeman/builder less than 7 and the current released version (at the time of this post) of
@theforeman/builder is 8.4.1 in nightly. For example:
Getting requirements for tfm-rubygem-foreman_webhooks-0.0.1-2.el7.src --> Already installed : scl-utils-build-20130529-19.el7.x86_64 --> foreman-assets-2.5.0-0.3.develop.el7.noarch --> foreman-plugin-2.5.0-0.3.develop.el7.noarch --> rh-ruby27-ruby-libs-2.7.1-128.el7.x86_64 --> rh-ruby27-ruby-2.7.1-128.el7.x86_64 --> rh-ruby27-rubygems-devel-3.1.2-128.el7.noarch --> tfm-nodejs-babel-core-7.7.4-2.el7.noarch --> tfm-nodejs-babel-core-7.7.4-2.el7.noarch --> tfm-nodejs-theforeman-builder-8.3.3-1.el7.noarch Error: No Package found for tfm-npm(@theforeman/builder) < 7.0.0
Given this dependency is controlled by each plugins
package.json requirements. This will require each plugin to make the appropriate update and perform a release w/ corresponding packaging update (I can help with this).